From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Boris V. Guzhov" To: Subject: Re: [ECOS] select() and signal's Date: Fri, 20 Apr 2001 08:13:00 -0000 Message-id: <01f801c0c9ab$be16cdd0$7601a8c0@borg> References: <01b701c0c996$c29891f0$7601a8c0@borg> <3AE0404E.B3BE865C@redhat.com> X-SW-Source: 2001-04/msg00275.html But it still not works. Both threads have an equal priority. I carefully has looked on cyg_sigqueue() code. And I don't understand as cyg_sigqueue() function will wake the blocked in select() thread. The cyg_sigqueue() function calls only signal_sigwait.broadcast(). But the blocked thread sleeps on other condition variable - selwait, but not on signal_sigwait. Thanks in advance. -- Boris Guzhov, St.Petersburg, Russia > > In Linux it works, but in eCos it not works. > > It is meant to work in eCos. It's meant to return -1 and set errno to > EINTR. Are you sure thr1 isn't being pre-empted for any other reason, e.g. > if thr2 is higher priority. > > Try setting a breakpoint on the function cyg_sigqueue and debugging it. > > jifl > -- > Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062 > Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine >