Signal catching in Solaris

I tried to catch unique signal(SIGCHLD) from child processes.
A problem is that parent should catch SIGCHLD signals from multiple children simultaneously.
In Solaris 5.5 and 5.8, some of SIGCHLD signals disapear.
But there is no zombie process.
I think while a process catches one signal if the process gets same kind of signal, it blocks that signal in a queue.
But in the real situation, kernel couldn't block same kind of signal.
Plz, let me know why signals disapear.
And how can I do catch all of them.
FYI,
I used sigaction function.
Below, simple test program.
#include <stdio.h>
#include <sys/wait.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
void child_do();
void usr1_handle(int);
void chld_handle(int);
int main()
int i;
int pid;
struct sigaction chld_act, usr1_act;
printf("sigaction error\n");
exit(1);
for(i=0; i<5; i++)
printf("%d : child create.\n",i+1);
pid = fork();
if (pid == 0)
child_do();
sleep(5);
kill(0, SIGUSR1);
while(1);
return 0;
void child_do()
pause();
void usr1_handle(int signo)
if (getpid()==getpgrp())
return;
printf("receive SIGUSR1\n");
exit(0);
void chld_handle(int signo)
int childPid, childStatus;
childPid = wait(&childStatus);
printf("%d : Child was killed!\n",childPid);

Hope it gives you some clue:
http://docs.sun.com/app/docs/doc/816-5137/6mba5vpju?a=view#gen-10856

Similar Messages

  • SIGCHLD signal issue in Solaris 10

    I executing binaries on Solaris 10, but binaries are compiled on Solaris 8. Same binaries are working fine on Solaris 8 and Solaris 9 but not working on Solaris 10. Operating system is throughing SIGCHLD to my application. Also this is not consistant.
    Is there any change in Solaris 10 related to signals.

    I executing binaries on Solaris 10, but binaries are compiled on Solaris 8. Same binaries are working fine on Solaris 8 and Solaris 9 but not working on Solaris 10. Operating system is throughing SIGCHLD to my application. Also this is not consistant.
    Is there any change in Solaris 10 related to signals.

  • Interrupting clnt_call in Solaris 10 using signals

    Is there a way to interrupt a clnt_call() before it times out in Solaris 10 using signals?
    Under Solaris 2.6, we were able to send a client a SIGINT, the client would accept the signal, reset the timeout using clnt_control() and then immediately time out of the clnt_call when the signal handler returned.
    Under Solaris 8, the SIGINT no longer interrupted the blocked clnt_call when the nsl library was dynamically linked in but we were able to statically link in libnsl.a from the 2.6 library and keep our interrupt functionality working.
    Under Solaris 10, this workaround no longer works. Signals, other than the ones with predefined actions like SIGKILL, SIGSTOP, etc., all get queued up until the clnt_call times out on its own. siginterrupt has no effect on the clnt_call blocking of signals.
    Thanks in advance for any information on this topic.

    The problem only occurs when we use INADDR_ANY to bind a socket. The program works as expected when we use real as well as virtual IP address configured for an interface on any Solaris Zone. When we use INADDR_ANY, error number is 14 (EFAULT, Bad Address).
    Just wondering if we need to make any configuration changes in order to allow INADDR_ANY to work.

  • NVIDIA GeForce 2 Ultra drivers for Solaris 8

    I am having trouble making the GeForce 2 Ultra drivers from NVIDIA. I have the latest gcc and make from GNU, but I keep getting errors. Has anyone been able to successfully load them and get them to work with the GeForece? Thanks in advance.

    unixforall,
    I had the same problem under linux. I can only tell you what I did for Linux as I haven't had a chance to download Solaris yet. Get the following file:
    ftp://ftp.xfree86.org/pub/XFree86/4.0.2/Install
    If you follow this step by step (it is very self explanatory) then you should end up with a few binaries that are compatible with the GeForce. In particular the XFree86 X server module. I don't know if there are any other catches with Solaris but with Linux (RH7) this worked like a charm (except I overwrote my previous config files and had to reinvent the wheel - be careful backup all config files if you are going to overwrite them). Anyway I hope this is of some use.

  • IOS 8 WiFi and Keyboard problems

    Sorry for my english, I'm from Russia. After updating my iPhone 5 started very fast discharge (the same thing I found on the iPad Air). Just Wifi was much weaker ,signal catches very very bad.More.. side of the keyboard do not work correctly, they fly on and off and have to re-set in the settings.Do not update to iOS 8!

    It's broken since the first beta of iOS 8.
    Apple needed 1 year to fix a missing icons, so don't be impatient for the wifi sync. It will require at least 2 years. But you know, the whole sync part is partially broken for 5 years. So really, don't be impatient.
    You can also make it public on Twitter, I heard some dev contact people having trouble. It make more pressure than on these forum, so try it.

  • Air on Android : ANR keyDispatchingTimedOut

    Hi there,
    First of all, i would like to say GREAT JOB ADOBE, AIR is the only TRUE Crossplatform platform available today that let you target multiple devices (now i know there are many problems too, but i couldnt find any other suitable technolgoy that allow me to both develop games and apps with it)
    Secondly, my recent app is working AWESOME on iOS and Blackberry playbook, however when it comes to Android, (i'm using AIR 3.7) my app get stuck after sometime, and i get same ANR erroor with 99% same log.
    Kindly, help and let me know what is going on there as i'm unable to make sense of the log, My app is a painting app with mousedown and  play audio effects, (mouse down/over) etc .
    Here is the log
    ANR keyDispatchingTimedOut
    DALVIK THREADS:
    (mutexes: tll=0 tsl=0 tscl=0 ghl=0)
    "main" prio=5 tid=1 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x40f3f4c0 self=0xc957b0
    | sysTid=9982 nice=0 sched=0/0 cgrp=default handle=1074337148
    | schedstat=( 68501953685 17042441637 91859 ) utm=5910 stm=940 core=1
    at com.adobe.air.customHandler.callTimeoutFunction(Native Method)
    at com.adobe.air.customHandler.handleMessage(customHandler.java:22)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:4624)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
    at dalvik.system.NativeStart.main(Native Method)
    "AudioTrackThread" prio=10 tid=18 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41945a68 self=0x13eb108
    | sysTid=14004 nice=-16 sched=0/0 cgrp=default handle=35402400
    | schedstat=( 464872302 214067321 5444 ) utm=14 stm=32 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-14611" prio=5 tid=17 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41945d28 self=0x147fd18
    | sysTid=14003 nice=-16 sched=0/0 cgrp=default handle=30658624
    | schedstat=( 219919464 48144153 981 ) utm=16 stm=5 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-14586" prio=5 tid=16 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41a5dd70 self=0xf693d0
    | sysTid=10010 nice=0 sched=0/0 cgrp=default handle=16485592
    | schedstat=( 2144241714 2580103782 25916 ) utm=113 stm=101 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-14585" prio=5 tid=15 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41919020 self=0xf89968
    | sysTid=10009 nice=0 sched=0/0 cgrp=default handle=16710104
    | schedstat=( 31459240 130834457 626 ) utm=0 stm=3 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-14583" prio=5 tid=14 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x418a8cb0 self=0xfe6470
    | sysTid=10004 nice=0 sched=0/0 cgrp=default handle=16279096
    | schedstat=( 376383 61765153 9 ) utm=0 stm=0 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-14582" prio=5 tid=13 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x418e8f78 self=0xfdf7b0
    | sysTid=10003 nice=0 sched=0/0 cgrp=default handle=16074528
    | schedstat=( 218174309 100420612 262 ) utm=17 stm=4 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Binder Thread #3" prio=5 tid=12 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x418ab860 self=0xfe2898
    | sysTid=10002 nice=0 sched=0/0 cgrp=default handle=16054272
    | schedstat=( 25091458 205252848 213 ) utm=2 stm=0 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "java.lang.ProcessManager" daemon prio=5 tid=11 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x418ac9e0 self=0xe21018
    | sysTid=10000 nice=0 sched=0/0 cgrp=default handle=16012192
    | schedstat=( 2048767 61409460 17 ) utm=0 stm=0 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x4187c210> (a java.util.HashMap)
    at java.lang.Object.wait(Object.java:364)
    at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140)
    at java.lang.ProcessManager.watchChildren(ProcessManager.java:105)
    at java.lang.ProcessManager.access$000(ProcessManager.java:40)
    at java.lang.ProcessManager$1.run(ProcessManager.java:58)
    "android.hardware.SensorManager$SensorThread" prio=5 tid=10 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x418eb218 self=0xfdc2d8
    | sysTid=9999 nice=-8 sched=0/0 cgrp=default handle=15204776
    | schedstat=( 399149510 189489559 2833 ) utm=39 stm=0 core=1
    at android.hardware.SensorManager.sensors_data_poll(Native Method)
    at android.hardware.SensorManager$SensorThread$SensorThreadRunnable.run(SensorManager.java:4 98)
    at java.lang.Thread.run(Thread.java:856)
    "Binder Thread #2" prio=5 tid=9 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x4184e340 self=0xf0a960
    | sysTid=9994 nice=0 sched=0/0 cgrp=default handle=16530472
    | schedstat=( 36518472 212101527 207 ) utm=1 stm=2 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Binder Thread #1" prio=5 tid=8 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x4184be78 self=0xff09a0
    | sysTid=9993 nice=0 sched=0/0 cgrp=default handle=16536408
    | schedstat=( 30399157 206606684 214 ) utm=1 stm=2 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "FinalizerWatchdogDaemon" daemon prio=5 tid=7 TIMED_WAIT
    | group="main" sCount=1 dsCount=0 obj=0x41848b98 self=0xfe48c8
    | sysTid=9992 nice=0 sched=0/0 cgrp=default handle=16032952
    | schedstat=( 5256924 77209690 72 ) utm=0 stm=0 core=0
    at java.lang.VMThread.sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java:1031)
    at java.lang.Thread.sleep(Thread.java:1013)
    at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213)
    at java.lang.Thread.run(Thread.java:856)
    "FinalizerDaemon" daemon prio=5 tid=6 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x41848a40 self=0xfeed00
    | sysTid=9991 nice=0 sched=0/0 cgrp=default handle=15931824
    | schedstat=( 35608386 91104086 392 ) utm=2 stm=1 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40f355d0> (a java.lang.ref.ReferenceQueue)
    at java.lang.Object.wait(Object.java:401)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
    at java.lang.Thread.run(Thread.java:856)
    "ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x418488d8 self=0xfaa4a0
    | sysTid=9990 nice=0 sched=0/0 cgrp=default handle=15904704
    | schedstat=( 28687601 75100308 912 ) utm=2 stm=0 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40f354f8>
    at java.lang.Object.wait(Object.java:364)
    at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128)
    at java.lang.Thread.run(Thread.java:856)
    "Compiler" daemon prio=5 tid=4 VMWAIT
    | group="system" sCount=1 dsCount=0 obj=0x418487e8 self=0xfe5760
    | sysTid=9988 nice=0 sched=0/0 cgrp=default handle=15977024
    | schedstat=( 340262096 612489696 1656 ) utm=24 stm=10 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "Signal Catcher" daemon prio=5 tid=3 RUNNABLE
    | group="system" sCount=0 dsCount=0 obj=0x418486f0 self=0xfd35f8
    | sysTid=9986 nice=0 sched=0/0 cgrp=default handle=14590888
    | schedstat=( 8508000 62775385 18 ) utm=0 stm=0 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "GC" daemon prio=5 tid=2 VMWAIT
    | group="system" sCount=1 dsCount=0 obj=0x41848610 self=0xdeac80
    | sysTid=9984 nice=0 sched=0/0 cgrp=default handle=16052136
    | schedstat=( 9933376138 4731591862 7027 ) utm=961 stm=32 core=1
    at dalvik.system.NativeStart.run(Native Method)

    Here is another, almost same log
    DALVIK THREADS:
    (mutexes: tll=0 tsl=0 tscl=0 ghl=0)
    "main" prio=5 tid=1 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x40f3f4c0 self=0xc957b0
    | sysTid=4100 nice=0 sched=0/0 cgrp=default handle=1074337148
    | schedstat=( 47868632682 13725074495 72597 ) utm=4070 stm=716 core=0
    at com.adobe.air.customHandler.callTimeoutFunction(Native Method)
    at com.adobe.air.customHandler.handleMessage(customHandler.java:22)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:4624)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
    at dalvik.system.NativeStart.main(Native Method)
    "Thread-13865" prio=5 tid=18 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41a81950 self=0x16c43e8
    | sysTid=5775 nice=-16 sched=0/0 cgrp=default handle=26468168
    | schedstat=( 369399396 123858464 1724 ) utm=26 stm=10 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "AudioTrackThread" prio=10 tid=16 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41a7a7e0 self=0x1705788
    | sysTid=5776 nice=-16 sched=0/0 cgrp=default handle=26468328
    | schedstat=( 848617969 426645812 10238 ) utm=42 stm=42 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Binder Thread #3" prio=5 tid=17 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41a7ec58 self=0x11116e0
    | sysTid=4130 nice=0 sched=0/0 cgrp=default handle=17780848
    | schedstat=( 10072080 8473004 43 ) utm=1 stm=0 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-13844" prio=5 tid=15 SUSPENDED
    | group="main" sCount=1 dsCount=0 obj=0x41a47c50 self=0xfd2f50
    | sysTid=4123 nice=0 sched=0/0 cgrp=default handle=16354056
    | schedstat=( 1113520463 1789135748 13894 ) utm=39 stm=72 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-13843" prio=5 tid=14 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41919d08 self=0xff2db8
    | sysTid=4122 nice=0 sched=0/0 cgrp=default handle=16710104
    | schedstat=( 16894239 41618999 332 ) utm=0 stm=1 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-13841" prio=5 tid=13 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x418ac538 self=0xfdf7b0
    | sysTid=4118 nice=0 sched=0/0 cgrp=default handle=16635008
    | schedstat=( 417771 1170614 5 ) utm=0 stm=0 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Thread-13840" prio=5 tid=12 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x418e8060 self=0xfe2898
    | sysTid=4117 nice=0 sched=0/0 cgrp=default handle=16280560
    | schedstat=( 168455921 22615693 249 ) utm=11 stm=5 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "java.lang.ProcessManager" daemon prio=5 tid=11 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x418adf78 self=0xe21018
    | sysTid=4115 nice=0 sched=0/0 cgrp=default handle=16039968
    | schedstat=( 1577462 288845 14 ) utm=0 stm=0 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x4188e4d0> (a java.util.HashMap)
    at java.lang.Object.wait(Object.java:364)
    at java.lang.ProcessManager.waitForMoreChildren(ProcessManager.java:140)
    at java.lang.ProcessManager.watchChildren(ProcessManager.java:105)
    at java.lang.ProcessManager.access$000(ProcessManager.java:40)
    at java.lang.ProcessManager$1.run(ProcessManager.java:58)
    "android.hardware.SensorManager$SensorThread" prio=5 tid=10 SUSPENDED
    | group="main" sCount=1 dsCount=0 obj=0x418ea130 self=0xfdc2d8
    | sysTid=4114 nice=-8 sched=0/0 cgrp=default handle=15204776
    | schedstat=( 245180260 89330139 1694 ) utm=24 stm=0 core=0
    at android.hardware.SensorManager.sensors_data_poll(Native Method)
    at android.hardware.SensorManager$SensorThread$SensorThreadRunnable.run(SensorManager.java:4 98)
    at java.lang.Thread.run(Thread.java:856)
    "Binder Thread #2" prio=5 tid=9 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41847598 self=0xf0a960
    | sysTid=4113 nice=0 sched=0/0 cgrp=default handle=16530472
    | schedstat=( 7124464 19712847 46 ) utm=0 stm=0 core=1
    at dalvik.system.NativeStart.run(Native Method)
    "Binder Thread #1" prio=5 tid=8 NATIVE
    | group="main" sCount=1 dsCount=0 obj=0x41847248 self=0xff09a0
    | sysTid=4112 nice=0 sched=0/0 cgrp=default handle=16536408
    | schedstat=( 12870926 22430538 71 ) utm=1 stm=0 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "FinalizerWatchdogDaemon" daemon prio=5 tid=7 TIMED_WAIT
    | group="main" sCount=1 dsCount=0 obj=0x41844108 self=0xfe48c8
    | sysTid=4110 nice=0 sched=0/0 cgrp=default handle=16032952
    | schedstat=( 2879696 9966383 41 ) utm=0 stm=0 core=0
    at java.lang.VMThread.sleep(Native Method)
    at java.lang.Thread.sleep(Thread.java:1031)
    at java.lang.Thread.sleep(Thread.java:1013)
    at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:213)
    at java.lang.Thread.run(Thread.java:856)
    "FinalizerDaemon" daemon prio=5 tid=6 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x41843fb0 self=0xfeed00
    | sysTid=4109 nice=0 sched=0/0 cgrp=default handle=15931824
    | schedstat=( 26011383 18739080 272 ) utm=0 stm=2 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40f355d0> (a java.lang.ref.ReferenceQueue)
    at java.lang.Object.wait(Object.java:401)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
    at java.lang.Thread.run(Thread.java:856)
    "ReferenceQueueDaemon" daemon prio=5 tid=5 WAIT
    | group="main" sCount=1 dsCount=0 obj=0x41843e48 self=0xfaa4a0
    | sysTid=4108 nice=0 sched=0/0 cgrp=default handle=15904704
    | schedstat=( 20708987 9289768 623 ) utm=1 stm=1 core=0
    at java.lang.Object.wait(Native Method)
    - waiting on <0x40f354f8>
    at java.lang.Object.wait(Object.java:364)
    at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:128)
    at java.lang.Thread.run(Thread.java:856)
    "Compiler" daemon prio=5 tid=4 VMWAIT
    | group="system" sCount=1 dsCount=0 obj=0x41843d58 self=0xfe5760
    | sysTid=4107 nice=0 sched=0/0 cgrp=default handle=15977024
    | schedstat=( 297060002 467497608 1310 ) utm=15 stm=14 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "Signal Catcher" daemon prio=5 tid=3 RUNNABLE
    | group="system" sCount=0 dsCount=0 obj=0x4184d160 self=0xfd35f8
    | sysTid=4105 nice=0 sched=0/0 cgrp=default handle=16052136
    | schedstat=( 17619462 7737693 35 ) utm=0 stm=1 core=0
    at dalvik.system.NativeStart.run(Native Method)
    "GC" daemon prio=5 tid=2 VMWAIT
    | group="system" sCount=1 dsCount=0 obj=0x4184d080 self=0xdeac80
    | sysTid=4102 nice=0 sched=0/0 cgrp=default handle=14590888
    | schedstat=( 6714109603 4117467474 8327 ) utm=641 stm=30 core=0
    at dalvik.system.NativeStart.run(Native Method)

  • Two applications sharing database

    Hi,
    I have one database with information and two different applications who both can read and write in that database.
    But how can i implement that if one application is writing in the database that the other one can't access the database?

    It can be done with Lock and Conditions
    An example of Producer/Consumer problem , Producer and Consumer are 2 different threads Producer uses set and Consumer uses get methods. Both of those methods are implemented in the class below, with locks you make sure that each time ONLY one of these threads has exclusive acess to the class methods.
    In the example Conditions are used so that Producer cant write when the buffer is full (buffer is an int variable here, capable of holding one int at a time) so the thread enters in await state.Similar the Consumer cant read before the Producer writes the new number (avoiding the consumer to read any duplicates). When the condition is satisfied a signal occurs so that if a thread was in the waiting state for that condition it can now continue.
    import java.util.concurrent.locks.Lock;
    import java.util.concurrent.locks.ReentrantLock;
    import java.util.concurrent.locks.Condition;
    Lock accessLock = new ReentrantLock();
    Condition canWrite = accessLock.newCondition();
    Condition canRead = accessLock.newCondition();
    public void set(int value)
            accessLock.lock();   
            try
                while(occupied)
                    displayState("Buffer full. Producer waits.\n");
                    canWrite.await();
                buffer = value;
                occupied = true;
                displayState("Producer writes "+value);
                canRead.signal();
            catch(InterruptedException exception)
                exception.printStackTrace();
            finally
                accessLock.unlock();
    public int get()
            int readValue = 0;
            accessLock.lock();
            try
                while(!occupied)
                    displayState("Buffer empty.Consumer waits\n");
                    canRead.await();
                occupied = false;
                readValue = buffer;
                displayState("Consumer reads "+readValue);
                canWrite.signal();
            catch(InterruptedException exception)
                exception.printStackTrace();
            finally
                accessLock.unlock();
            return readValue;
        }If you understand the concept of locks and conditions you can easily apply them to control the access over your database.
    Hope i ve been of some assistance!

  • Stopping of javathreads took 39564.694 ms  - This is much too long

    Hi,
    We have a cluster of many jrockit jvms.
    We need throughput and low gc-pausetimes.
    Every once in a while one of these machines shows exceptionally long gc-times.
    While looking at the log-files we find entries like :
    [Tue Dec 23 22:36:40 2008][1230068200511] GC reason: GC trigger reached, cause: Heap too full
    [Tue Dec 23 22:37:17 2008][1230068237423] Stopping of javathreads took 36909.749 ms
    [Mon Dec 29 16:41:18 2008][1230565278575] GC reason: GC trigger reached, cause: Heap too full
    [Mon Dec 29 16:41:58 2008][1230565318141] Stopping of javathreads took 39564.694 ms
    Generally these times are well below one second and sometimes they go a bit over a second.
    JAVA_OPTS="-server -Xms800M -Xmx4096M -XXcompressedRefs:false -Djava.net.preferIPv4Stack=true -XXsetGC:singleconcon -Xverboselog:/var/log/javavm.log -Xverbose:memory,memdbg,compaction,opt,gc -XverboseDecorations=timestamp,millis -Xgcreport -Xstrictfp -XXexitOnOutOfMemory -XXdumpFullState -XXstaticCompaction -XXcompactRatio:10 "
    we can reproduce this issue on 27.3.1, 27.4.0, 27.5.0 and 27.6.0
    [Mon Dec 29 16:41:18 2008][1230565278575] GC reason: GC trigger reached, cause: Heap too full
    [Mon Dec 29 16:41:58 2008][1230565318141] Stopping of javathreads took 39564.694 ms
    [Mon Dec 29 16:41:58 2008][1230565318141] old collection 233002 started
    [Mon Dec 29 16:41:58 2008][1230565318141] Alloc Queue size before GC: 653056, tlas: 13, oldest: 0
    [Mon Dec 29 16:41:58 2008][1230565318141] Compacting 12 heap parts at index 72 (type internal) (exceptional false)
    [Mon Dec 29 16:41:58 2008][1230565318141] OC 233002: 12 parts (max 128), index 72. Type internal, (exceptional false)
    [Mon Dec 29 16:41:58 2008][1230565318141] Area start: 0x2add266ef500, end: 0x2add2f37a080
    [Mon Dec 29 16:41:58 2008][1230565318141] Starting initial marking phase (OC1).
    [Mon Dec 29 16:41:58 2008][1230565318194] Restarting of javathreads took 17.228 ms
    [Mon Dec 29 16:41:58 2008][1230565318195] Starting concurrent marking phase (OC2).
    [Mon Dec 29 16:41:58 2008][1230565318594] Adding 3 final handles from dying thread 18538 'process reaper'.
    [Mon Dec 29 16:42:00 2008][1230565320020] Starting precleaning phase (OC3).
    [Mon Dec 29 16:42:00 2008][1230565320608] Stopping of javathreads took 488.759 ms
    [Mon Dec 29 16:42:00 2008][1230565320608] Starting final marking phase (OC4).
    [Mon Dec 29 16:42:00 2008][1230565320689] Removing 20 permanent work packets from pool, now 1498 packets
    [Mon Dec 29 16:42:00 2008][1230565320689] total concurrent mark time: 2547.660 ms
    [Mon Dec 29 16:42:00 2008][1230565320689] ending marking phase
    [Mon Dec 29 16:42:00 2008][1230565320689] Requesting to run parallel sweep since Alloc Queue is non-empty.
    [Mon Dec 29 16:42:00 2008][1230565320689] Will use parallel sweep instead of concurrent sweep due to request.
    [Mon Dec 29 16:42:00 2008][1230565320689] starting parallel sweeping phase
    [Mon Dec 29 16:42:01 2008][1230565321031] Updated 815069 references in 34219 nonmoved and 586187 moved objects
    [Mon Dec 29 16:42:01 2008][1230565321038] total sweep time: 348.937 ms
    [Mon Dec 29 16:42:01 2008][1230565321038] ending sweeping phase
    [Mon Dec 29 16:42:01 2008][1230565321038] Alloc Queue size after GC: 0, tlas: 0, oldest: 0
    [Mon Dec 29 16:42:01 2008][1230565321038] Average compact time ratio: 0.256837
    [Mon Dec 29 16:42:01 2008][1230565321038] Compaction pause: 153.938 (target 387.731), update ref pause: 194.594 (target 387.731)
    [Mon Dec 29 16:42:01 2008][1230565321038] Updated 975843 refs: 815069 inside compaction area, and 160774 outside (limit: 2390308).
    [Mon Dec 29 16:42:01 2008][1230565321038] Compaction ended at index 83, object end address 0x2add2f376980.
    [Mon Dec 29 16:42:01 2008][1230565321038] Summary: 233002;72;83;12;1;0;153.938;387.731;194.594;387.731;975843;2390308
    [Mon Dec 29 16:42:01 2008][1230565321038] gc-trigger is 21.644 %
    [Mon Dec 29 16:42:01 2008][1230565321038] 1204176.144-1204179.042: GC 1237312K->768208K (1535092K), sum of pauses 466.296 ms
    [Mon Dec 29 16:42:01 2008][1230565321038] Page faults before GC: 2, page faults after GC: 2, pages in heap: 383773
    [Mon Dec 29 16:42:01 2008][1230565321039] (OC) Pending finalizers 0->260
    [Mon Dec 29 16:42:01 2008][1230565321042] Restarting of javathreads took 3.487 ms
    (from 27.5.0)
    any ideas ?
    tuning jvm parameters ?
    thanks in advance.
    cheers Martin & Johannes

    Hi
    The questions asked above is a good place to start, especially what OS you are running. The suspend mechanism is a little bit different between Linux/Solaris and Windows.
    Basically, when a thread is stopped, it is sent a signal (using standard signalling in Linux/Solaris). Sometimes, signals get blocked in these OS:es. We have sometimes seen very long latencies due to this. One reason could be if an application is reading or writing to a stale or slow NFS drive. During the operation, signalling is blocked which could lead to these problems. If you use NFS, try verifying that the NFS shares are working properly.
    Another problem could be with something called roll forwarding (this would be a JRockit problem). However, you should be able to see this in the logs when running with Xverbose:memdbg as you are doing. Try searching for "roll forwarding" in the log. If you find anything, try adding the java option "-XXrollforwardretrylimit:-1" (If you find anything I can explain what this does ;))
    The next step for me would be to take a JRA recording with Latency data using JRockit Mission Control. This is a very powerful tool, well worth looking at for anyone working with bigger Java projects. A JRA recording is basically a recording of what is going on in the JVM. It has very low overhead, so you can run long recordings in production without problems. Try making a recording that captures at least one of the long pauses (use the latest version of JRockit as well, as this will give the most information). Latency data is a part of JRA recordings that measure everything that causes latencies. This can be file or network IO, synchronization or anything. Using such a recording, we can see if anything out of the ordinary is done during the pause. You can read more about it here: http://edocs.bea.com/jrockit/tools/jmcpdfs/mc3/mcjra3.pdf (chapter 2 and 16).
    Kind Regards
    /Mattis, JRockit Sustaining Engineering

  • To handle manually windows shutting down event

    Hi everyone,
    I am developing a GUI application using swings.
    In this, I am writing a window closing event which displays a JOptionPane.ShowConfirmDialog showing a message like "Do you want to save the changes?" same as in notepad or Microsoft Word.
    For abrupt shutdown due to power failure,i am using shutdown hook to delete a file and saving some unsaved changes
    My problem is while shutting down windows manually by going to start menu--->Shutdown,i want to catch(handle) that shutdown event and prompt a message using
    JOptionPane.showConfirmDialog(this, "Do you want to save changes", JOptionPane.YES_NO_CANCEL_OPTION);but i am unable to catch that event using shutdownhook
    Please help me in this..
    thank you

    i am done with the window closing event when we are closing the application and also working fine when we closed from the Task manager,
    but i want to prompt a message for that java application while shutting down the system by going to Start menu and then Shut down/restart
    the following code is working fine when i run in the Command window..but i am not able to use that code in my application. This program is prompting a message while shutting down
    import sun.misc.Signal;
    import sun.misc.SignalHandler;
    public class SignalHandlerExample implements SignalHandler {
        private SignalHandler oldHandler;
        public static SignalHandler install(String signalName) {
            Signal diagSignal = new Signal(signalName);
            SignalHandlerExample instance = new SignalHandlerExample();
            instance.oldHandler = Signal.handle(diagSignal, instance);
            return instance;
        public void handle(Signal signal) {
            System.out.println("Signal handler called for signal "
                  + signal);
            try {
                signalAction(signal);
                // Chain back to previous handler, if one exists
                if (oldHandler != SIG_DFL && oldHandler != SIG_IGN) {
                    oldHandler.handle(signal);
            } catch (Exception e) {
                System.out.println("handle|Signal handler
                     failed, reason " + e.getMessage());
                e.printStackTrace();
        public void signalAction(Signal signal) {
    JOptionPane.showMessageDialog(null, "hi");
            System.out.println("Handling " + signal.getName());
            System.out.println("Just sleep for 5 seconds.");
    JOptionPane.showMessageDialog(null, "hello");
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                System.out.println("Interrupted: "
                  + e.getMessage());
        public static void main(String[] args) {
            SignalHandlerExample.install("TERM");
            SignalHandlerExample.install("INT");
            SignalHandlerExample.install("ABRT");
            System.out.println("Signal handling example.");
            try {
                Thread.sleep(50000);
            } catch (InterruptedException e) {
                System.out.println("Interrupted: " + e.getMessage());
    }thank you.

  • Problems with Network Extender

    We have recently moved into a metal building as our home.  Our phone signals are affected and so we did the research and bought a Verizon network extender.  The bars on our phones went straight up to 4 and the VNE works great ... up until you use the internet for anything that takes a little bandwidth.  I work in a home office over a VPN all day.  I can be taking a call and as soon as I send an email (no attachments just an email), my call becomes choppy and unusable.  I paid our ISP technician an hour's onsite visit to troubleshoot our in-home network and with his monitoring we noted that the bandwidth performance was drastically affected when the VNE is attached and working.  According to FAQs, the bandwidth required for the VNE should be nominal.  We have 10 mbps down and 4 up...and the VNE seems to cause all kinds of internet issues when plugged in. 
    Further, the GPS signal catches and stays for hours but then seems like when left unattended for hours the blue light goes away...if I pick up the VNE and just move it around, the GPS signal catches again. I have attached the "external GPS cable" just to see but if it gets the Blue light at all, doesn't that really mean the extra cable isn't necessary?
    Does anyone have any suggestions how I can successfully use this tool?

        Hi vjamison812,
    I want you to have the best experience using your cell service while at home. Every call connected to the extender should only be using an average of 40 kbps. Was the technician able to advise how much bandwidth is being used? We may need to reach out to our engineering team to confirm the manner that the Network Extender is connecting to your internet but the more information we have from your ISP, the more details we can provide. I also recommend you contact the manufacturer of your router if it's different than your ISP. Occasionally settings need to be changed to ensure better call quality.
    Does the GPS light turn off or does it go from Blue to Red? The external cable is only needed when the light is Red and stronger connection is needed. Please ensure that the Network Extender is located in an open area, preferably in an elevated location near a window and in an upright position. Please provide more details as to exactly what happens with the light.
    Thank you,
    MariaC_VZW
    Please follow us on Twitter @VZWSupport

  • Can I catch ALRM signal on solaris ?Urgent......

    Hi !
    Is it possible to catch the ALRM signal on Solaris ?? I heard that trying to catch a signal that will be handled by the JVM will throw an IllegalArgumentException. This is what happening when I try to catch the ALRM signal. I'm getting "java.lang.IllegalArgumentException : UnknownSignal : ALRM". But, in the same application, I'm able to catch INT and TERM signals.Can anyone tell me how to trap the ALRM signal on Solaris ???
    Thanks in advance .
    Ramesh Thota

    No ! I did not use any native code. I've used the classes sun.misc.Signal and sun.misc.SignalHandler for this. Here is my code :
    import sun.misc.Signal;
    import sun.misc.SignalHandler;
    public class test implements Runnable
    public static boolean signalFlag = false;
    public static Object valueLock = new Object();
    public static void main(String args[])
    test t = new test();
    Thread thread = new Thread(t);
    thread.start();
    String SIG_TERM = "TERM";
    String SIG_INT = "INT";
    String SIG_ALRM = "ALRM";
    SignalHandler sigHdl = new SignalHandler ()
         public void handle( Signal aSignal )
         synchronized(valueLock)
              signalFlag = true;
              System.out.println( "Caught " + aSignal.toString()+ " signal.");
              System.out.println(signalFlag);
              valueLock.notify();
         } // End of Sync Block
    } // End of method handle
    }; //end of class
    // Installing signal handlers
    Signal.handle( new Signal( SIG_INT ), sigHdl );
    Signal.handle( new Signal( SIG_TERM ), sigHdl );
    Signal.handle( new Signal( SIG_ALRM ), sigHdl );
    } // End of Main
    public void run()
    try{
         synchronized(valueLock)
         while(signalFlag != true)
         valueLock.wait();
    } // end of try
    catch(InterruptedException iox)
         System.out.println("Interrupted");
    } // End of Run
    }// End of Class

  • Solaris HotSpot Virtual Machine Error, Unexpected Signal 11 NEED HELP

    Hi all
    We are running a thin jsp application for video streaming live event running
    on a BEA WebLogic Personalization Server 3.2 on Solaris (streaming servers
    are separate and do not affect the server). After putting it in production
    we have experienced serious memory problems with our environment. When the
    servers are running under heavy load, they eat all available memory until
    they finally crash, please see log message below. We can see that the
    garbage collection is running but it doesn't seem to keep up with the memory
    consumption. The problem is described in a bug report at SUN, but it is
    marked as a "no fix" with the reasoning that programming resources are now
    allocated to jdk1.4?
    Log message:
    # HotSpot Virtual Machine Error, Unexpected Signal 11
    # Please report this error at
    # http://java.sun.com/cgi-bin/bugreport.cgi
    # Error happened during: scavenge
    # Error ID: 4F533F534F4C415249530E435050079A 01
    # Problematic Thread: prio=5 tid=0xdbea8 nid=0x4 runnable
    When this occured we ran JDK 1.3.0 with HotSpot Server VM on Solaris 8. WLS
    5.1, SP 9 and WLPS 3.2.
    WLS is started with the following parameters.
    #----------- Start WebLogic with the above parameters -----------
    $JDK_HOME/bin/java -server -ms512m -mx512m -Duser.timezone=ECT -classpath
    $JAVA_CLASSPATH -Dweblogic.system.bindAddr=10.122.114.4 -Dweblogic.cluster.m
    ulticastAddress=224.0.0.100 -Dweblogic.cluster.enable=true -Dweblogic.cluste
    r.name=iccluster -Dweblogic.class.path=$WEBLOGIC_CLASSPATH -Dweblogic.system
    .name=$SYSTEM_NAME
    weblogic.system.home=$SYSTEM_HOME -Dweblogic.home=$WEBLOGIC_HOME -Djava.secu
    rity.manager -Djava.security.policy=$WEBLOGIC_HOME/weblogic.policy -Dcommerc
    e.properties=$WL_COMMERCE_HOME/weblogiccommerce.properties -Dweblogic.proper
    ties=$WL_COMMERCE_HOME/weblogic.properties -Dpipeline.properties=$WL_COMMERC
    E_HOME/pipeline.properties -Dwebflow.properties=$WL_COMMERCE_HOME/webflow.pr
    operties -Dwlcs.home=$WL_COMMERCE_HOME weblogic.Server &
    We have now upgraded to jdk1.3.1_02 B02 but still have a problem with memory
    leaks. We have so far been able to restart the server before memory is
    exhausted and has hence not seen the same error message after the upgrade.
    The memory is not freed when Weblogic aborts, the SUN server has to be
    rebooted to free the memory. We now have to restart our 3 servers aprox.
    every 6 hours. The servers are equiped with 2G physical memory each. We have
    also tried setting hotspot to -client and setting -XX:MaxPerm.
    The HW configuration is as follows:
    1 Foundry Server Iron load balancer (with one hot stand by).
    3 Sun E420R, 2 x 440MHz CPU, 2GB RAM. Running in a cluster with one apache
    and one WLPS instance on each
    The SW configuration is as follows:
    JDK 1.3.1_02 B02 with HotSpot Server VM
    Solaris 8.
    WLS 5.1, SP 9
    WLPS 3.2.
    Oracle server 8.1.7
    Oracle client 8.1.6?
    This bug is described in
    http://developer.java.sun.com/developer/bugParade/bugs/4408730.html.
    It is also described as a known problem in
    http://www.weblogic.com/platforms/sun/index.html.
    It has also been described by SUN as a problem arising from multiple nested
    try/catch blocks appearing in generated java code from servlets, especially
    on WebLogic and Apache.
    As SUN has said that they will not fix this bug we are trying to find a
    workaround, but have yet found one. We have been looking into changing the
    heap size and setting GC options on the JVM, but haven't found the optimal
    solution. We would be very interested in experiences with tuning gc
    parameters, documentation on solaris patches for JVMs, JVM tuning, WebLogic
    tuning, HotSpot tuning.
    Has anyone experienced similar problems and found a workaround. We would be
    very happy to hear any suggestions as soon as possible,
    thanks
    Kris

    Perhaps the -noTryBlocks option to jspc might help you. See here:
    http://e-docs.bea.com/wls/docs61/////jsp/reference.html
    simon.

  • Ever since updating to ios6, my iPhone 4 has weak to no wifi signal and iMessage will not work, MMS stopped working, and I don't get my social network notifications on wifi unless I'm close tithe router or I catch a good signal from it.

    The update has completely screwed up my 4.. No more iMessage over WiFi, I have to hold my phone in the air sometimes to catch a signal and I never had to do that before, and after the update I can't send any pictures, over iMessage or 3G .. And with the weak signal I only get my notifications from apps when it wants to.. I'll be connected to wifi and using it, but won't get any notifications, or when I do.. Its whenever the signal has registered or my phone has authenticated it, I've had these problems since last year with no fix, I've reset my router countless times, I'm on Verizon and NEVER had wifi or imessage issues before ios6 .

    Make Genius Appointment and take your iPhone to the Apple Store. Only Genius can make these determinations. The broken screen voids your Warranty. The Genius could overlook this, you never know. Take your iPhone to Apple Store, hope for the best, but be prepared to pay $149 for Out of Warranty Replacement iPhone 4. A good price for replacement of an iPhone 4 with broken screen and WiFi problems.

  • Pls Help - Unexpected Signal 11 occuring on solaris 8

    Hi,
    We are getting Unexpected Signal 11 crashes on solaris 8 our Application server is crashing with following core dump msg
    Unexpected Signal : 11 occurred at PC=0xFE455CF4
    Function=[Unknown. Nearest: JVM_GetInterfaceVersion+0xE0]
    Library=/u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/libjvm.so
    Dynamic libraries:
    0x10000      /user2/epoint/pups
    0xff080000      .//libxalan-c1_2.so
    0xfed80000      .//libxerces-c1_6_0.so
    0xff050000      /usr/lib/libsocket.so.1
    0xfec80000      /usr/lib/libnsl.so.1
    0xfed60000      /usr/lib/libpthread.so.1
    0xfed40000      /usr/lib/librt.so.1
    0xff3a0000      /usr/lib/libdl.so.1
    0xfec50000      /usr/lib/libCrun.so.1
    0xfec00000      /usr/lib/libm.so.1
    0xff040000      /usr/lib/libw.so.1
    0xfebc0000      /usr/lib/lwp/libthread.so.1
    0xfea80000      /usr/lib/libc.so.1
    0xfeb90000      /usr/lib/libgen.so.1
    0xfeb70000      /usr/lib/libmp.so.2
    0xfea60000      /usr/lib/libaio.so.1
    0xfebf0000      /usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1
    0xfe8c0000      /user2/epoint/pjni.dll
    0xfe400000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/libjvm.so
    0xfe890000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/native_threads/libhpi.so
    0xfe860000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/libverify.so
    0xfe3c0000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/libjava.so
    0xfe3a0000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/libzip.so
    0xfa7a0000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/libnet.so
    0xfa6e0000      /u02/iplanet6.1/j2sdk1.4.1/jre/lib/sparc/librmi.so
    0xfa6c0000      /user2/epoint/pcom.dll
    0xfa690000      /user2/epoint/psl.dll
    0xfa5c0000      /user2/epoint/pfile.dll
    0xfa590000      /user2/epoint/psysapi.dll
    0xfa4e0000      /user2/epoint/pdll.dll
    0xfa4b0000      /user2/epoint/pxml.dll
    0xf1ab0000      /user2/epoint/pactions.dll
    0xf1590000      /user2/epoint/pcti.dll
    0xf13e0000      /user2/epoint/psocket.dll
    0xf0cb0000      /user2/epoint/psqldb.dll
    0xf0da0000      /user2/epoint/poracle.dll
    0xea800000      /export/home/oraep/oracle8/lib/libclntsh.so.8.0
    0xf0c90000      /export/home/oraep/oracle8/lib/libwtc8.so
    0xf0be0000      /usr/lib/libsched.so.1
    Local Time = Thu Feb 3 17:58:24 2005
    Elapsed Time = 216
    # HotSpot Virtual Machine Error : 11
    # Error ID : 4F530E43505002E6 01
    # Please report this error at
    # http://java.sun.com/cgi-bin/bugreport.cgi
    # Java VM: Java HotSpot(TM) Client VM (1.4.1-b21 mixed mode)
    Details of Environemnt :-
    OS :- Solaris 8
    Webserver :- Sunone 6.1 SP3 with JDK 1.4.1
    Application Server (developed in C++ and make native calls with java using JNI ) uses JDK 1.3.1_09
    DB:- Oracle 8.1.7.4
    Is this a JDK Bug ? Should we upgrade JDK
    Also we are using 2 diff JDK versions Sunone on JDK1.4.1 while our Application server is on JDK 1.3.1_09 can this be a cause ???
    Please help me to resolve the problem

    Hi, you can find some answers here: http://www.bitwizard.nl/sig11/.
    Using this article you can detect if it is a hwd problem or a sofware one
    good luck

  • My solaris can't catch the internet

    I have finished my installation of solaris 10, but I can't browse any web site. The msg said that "The XXX.com can't found, pls try again and check the name". But I am sure that the name of web site and the web site is exited since I can open it with another computer.
    So that, I wonder that if the computer hadn't detected the NIC. Therefore, I had tried many method to find the package for the NIC. But I can't find any of it. So, I really don't know what can I do?
    Can I do that in another way?
    Or the problem that I wondered is not right?
    Pls help!!!!

    since we can't execute the package file from the floppy disk.......
    and any procedure of setting
    #ifconfig hme0 plumb(start up the NIC)
    #ifconfig hme0 inet 192.168.49.51 netmask 255.255.255.0 (add IP and Subnetmask)
    #vi /etc/defaultrouter (add router)
    #echo ��myhost�� > /etc/nodename (add host name)
    #echo ��domain domain.com�� > /etc/resolv.conf (set the domain name, this step can omit)
    #echo ��nameserver 161.64.3.1�� >> /etc/resolv.conf (set the IP of DNS)
    #vi /etc/nsswitch.conf (change the DNS enquire method, since the original one is hosts: file �� hosts:file dns)
    all of above are what we have done, but we still can't catch the internet....
    so what can we do to solve this problem?

Maybe you are looking for

  • LDB_PROCESS for PNP

    Hi all, I am trying to use LDB_PROCESS function module for logical database PNP but am not sucessful in it. I am pasting my code below: Moderator message - Please respect the 2,500 character maximum when posting. Post only the relevant portions of co

  • Selection-screen messaging

    hi friends i have a problem in selection-screens   SELECT-OPTIONS so_cuno FOR kna1-kunnr.   PARAMETERS p_cuna LIKE kna1-name1. SELECTION-SCREEN PUSHBUTTON /10(20) text-003 USER-COMMAND disp. SELECTION-SCREEN PUSHBUTTON 40(20) text-004 USER-COMMAND re

  • How to reinstall Photoshop Elements 12

    A few months ago I purchased and installed Photoshop Elements 12.   Unfortunately, I had a system crash and have had to reinstall everything.   But, I don't seem to have the PSE 12 installation file I downloaded originally.   Is there  any way to get

  • Choose the appropriate and cheapest license for Apex

    Dear Experts, If a customer likes Oracle Apex and want his system to be built with this technology on his private server but he has problems in expensive license of Oracle Database compared with MS SQL Server. If the customer has: - Planned No. of us

  • HT4061 Since downloading the Find my IPad I don't know how to delete the cookies I have left when opening an app.

    I download the find my IPAD app.  I have disabled it now, but find that when I try to delete the cookies, I get a whole different screen and don't know how to delete them.