Terry Lambert wrote:

> Yes.  Signals are persistant conditions, not events.

Aha... That explains it.

> When you get the first SIGIO, set a flag (volatile) in the
> signal handler.  In your main loop, check for the flag, and
> if it is present, use poll/select to verify that there is
> data pending, and while there is data pending, retrieve it.

I've recoded this way and it works. Not as clean as I would prefer
(because my program is a distributed number cruncher and I'd tried
to make a clean separation between main processing and net I/O), but
works.

Thanks for you help.

Fernando P. Schapachnik
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to