Thank you for the suggestions. I found my problem. I thought that setting sdasync set async for all sockets. It has to be set for each socket. Also, strange things happen when you mix async and non-async sockets in the same J session. Doesn't look like a good idea to mix them.
I gather that J under UNIX does not support async and waiting on socket events and other events together requires writing something in C. Also, the help file http://www.jsoftware.com/help/user/socket_utilities.htm needs to be corrected changing "sdwsaasync" to "sdasync". On Thu, Feb 25, 2010 at 2:28 PM, David Mitchell <[email protected]>wrote: > On 2/25/2010 15:51, Don Guinn wrote: > > In attempting to make a socket non-blocking I am trying to use "sdasync" > and > > it appears not to work; however, I'm sure it's something I'm doing wrong > and > > that is not my question. In looking at the sockets script there is a > message > > in the "sdasync" definition saying it is not implemented in UNIX. To use > > "sdselect". Does this mean that it is impossible to have non-blocking > > sockets in UNIX? If you can have non-blocking sockets in UNIX, how is it > > done? > > > > In the help file for sockets near the bottom of the page, next to last > name, > > is the name "sdwsaasync" which is to set non-blocking. No such name in > the > > sockets script. Shouldn't that the name should be "adsync". > > > > Here is an example: > > > http://www.jsoftware.com/jwiki/JWebServer/EventHandler?highlight=%28sdselect%29 > > And a paper > > Abstract: > UNIX applications not wishing to block when doing > I/O often use the select() system call, to wait for > events on multiple file descriptors. > > http://www.usenix.org/event/usenix99/full_papers/banga/banga.pdf > -- > David Mitchell > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
