Thanks. Will go to UNIX and try there. As I understand sdselect it hangs
until either a socket event occurs or the timer expires. What I was wanting
to do was to allow other events such as forms events to also be handled as
can be done in Windows using adsync. I guess in UNIX one has to set a
reasonably small timer in sdselect to let J wake up and see if anything else
needs to be done.

On Fri, Feb 26, 2010 at 7:08 AM, Eric Iverson <[email protected]>wrote:

> J Unix sockets require use of sdselect. No C required.
>
> On Thu, Feb 25, 2010 at 11:54 PM, Don Guinn <[email protected]> wrote:
>
> > 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
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to