>> 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
