[omniORB] Using signals with omniORB

Helmut Swaczinna Helmut.Swaczinna@wmd.de
Wed, 26 May 1999 21:09:03 +0100


>X-POP3-Rcpt: swaczin@wmdhh.wmd.de
>>From bin  Wed May 26 20:40:47 1999
>X-Authentication-Warning: gate1.wmd.de: smap set sender to
<owner-omniorb-list@uk.research.att.com> using -f
>To: Helmut Swaczinna <Helmut.Swaczinna@wmd.de>
>Cc: omniorb-list@uk.research.att.com
>Subject: Re: [omniORB] Using signals with omniORB
>From: bjornw@colargol.idb.hist.no (Bj=F8rn Wennberg)
>Date: 26 May 1999 20:31:31 +0200
>Lines: 40
>User-Agent: Gnus/5.070083 (Pterodactyl Gnus v0.83) Emacs/20.3
>X-MIME-Autoconverted: from 8bit to quoted-printable by eder.fairplay.no id
UAA01359
>Sender: owner-omniorb-list@uk.research.att.com
>X-MIME-Autoconverted: from quoted-printable to 8bit by wmdhh.wmd.de id
UAA05480
>
>Helmut Swaczinna <Helmut.Swaczinna@wmd.de> writes:
>
>> Hi,
>>=20
>> I've recognized, that some signals are used internaly by omniORB, e.g.
>> SIGUSR1 and SIGUSR2. Which other signals are forbidden for application=
 use?
>
>Isn't this just for gdb? I beleave that gdb uses these two signals to
>switch/catch switching between threads. I'm not sure if they are used
>when you run your application outside of gdb. You may want to try that.
>Anyway - I had a look through gdb's source the other month - and I think
>that gdb ONLY uses sigusr1+2. Thus the rest should be free for you to use.
>
The program runs outside gdb and was compiled without -g. When I catch
SIGUSR1 with signal(SIGUSR1, myhandler), I get a strange behavior. The
prog blocks in impl_is_ready(0, 1), where it shouldn't, and starts only
4 of the 5 initial threads (see ps under Linux). And finally it doesn't
recognize any signal, except SIGKILL. I suppose, posix threads (or omni
threads) use these signals?

>>=20
>> But my problem using signals is another one. I'm not shure, if it's a
omniORB
>> problem or a genarel problem mit multithreaded applications. I can't
reset my
>> signal handler after the first arrival of the signal (Linux!). The second
>> arrival
>> of the signal has no effect, that means my signal handler is not called=
 and
>> the application is not terminated. The background is, I want my server to
>> reload=20
>> its config data on a signal.
>
>This might be the case where gdb uses sigusr1+2?=20
>
I tried SIGHUP in this case.

Helmut