From: Andi Kleen (ak_at_suse.de)
Date: Mon Jan 14 2002 - 10:16:02 GMT
On Mon, Jan 14, 2002 at 09:50:50AM +0000, Tom Hughes wrote: > In message <200201111853.KAA28214_at_hunter> > Rod Armstrong <rod_at_san-jose.tt.slb.com> wrote: > > > On Linux, wait3() must be used in order to get interrupts. Maybe > > someone with a Redhat system could investigate. > > I've found and solved the wait() problem now. In fact wait() does get > interrupts but the problem is that Linux blocks signals while they are > being handled and a longjmp() out of the signal handler does not > cancel that block, so after the first time SIGIO is blocked and we > don't get interrupted. The Linux behaviour is specified in POSIX and should be matched by every non ancient unix (unless you set SA_NOMASK). I would use siglongjmp() always, not conditional on OS_LINUX. -Andi
This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 21:51:35 GMT