>> IMO Linux lack both true async socket, and messaging system.
>
> I wouldn't say so. By using fnctl() one can do the following: set a
> socket descriptor F_SETFL - O_ASYNC and possibly F_SETOWN if the process
> receiving SIGIO has to be something else than this one and you have
> truly asynchronous sockets: You just select() when you receive the
> signal. That should be the Linux/POSIX-specific way to do it, with no
> threads needed.

I found this : http://www.erlenstar.demon.co.uk/usenet/sigio.txt

/* In practice, SIGIO is almost useless on stream sockets, because it  */
/* gets generated by far too many different events.                    */
/* I say again: USE SIGIO ON STREAM SOCKETS ONLY AS A LAST RESORT. */

>> Linux has non-blocking socket but no mechanism to tell the application 
>> when
>> the socket is ready to send or has received something. You have to use 
>> the
>> trick I used.
>
> See above. Signals should make it possible, unless I'm horribly
> mistaken.

As far as I know, you have only a single SIGIO handler per process. If a 
component use SIGIO, then it must provide some mechanism to share it with 
anything else that needs it.


--
Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
http://www.overbyte.be


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to