[Info-vax] select() returning -1

Sam Ferencik sferencik at gmail.com
Fri Apr 5 17:22:50 EDT 2013


On Wednesday, February 20, 2013 12:40:05 PM UTC+1, Neil Rieck wrote:
> On Saturday, February 16, 2013 7:22:54 PM UTC-5, Sam Ferencik wrote:
> 
> > It seems select() really only works for sockets. The return value of -1 is accompanied by errno = 38, which is (errno.h):
> 
> > 
> 
> > 
> 
> > 
> 
> > #define ENOTSOCK        38     /* Socket operation on non-socket        */
> 
> > 
> 
> > 
> 
> > 
> 
> > So, is there an alternative call available on VMS?
> 
> > 
> 
> > 
> 
> > 
> 
> > Thanks,
> 
> > 
> 
> > Sam
> 
> 
> 
> You might wish to check out my research on "bad select 38" here:
> 
> 
> 
> http://www3.sympatico.ca/n.rieck/docs/openvms_notes_ssl.html#bad-select-38
> 
> 
> 
> As others have already posted, while it appears you can use "select()" on any unix program while applications on other operating systems (Like Windows, DOS, and OpenVMS) require you to do non-socket i/o. "TERM_SOCK.C" is a little program stub published by Compaq to do just this in OpenSSL-1.1B
> 
> 
> 
> http://www3.sympatico.ca/n.rieck/demo_vms_html/openvms_demo_index.html#openssl
> 
> 
> 
> Neil Rieck
> 
> Kitchener / Waterloo / Cambridge,
> 
> Ontario, Canada.
> 
> http://www3.sympatico.ca/n.rieck/OpenVMS.html

Thanks all for your input; I haven't had time for this yet.

I just looked at poll() and it won't do since poll.h isn't even shipped with some versions of VMS. Neither can vim assume the minimum version of Alpha V7.3-2 that Stephen mentions above. <sigh>

That means I'll be trying $QIO. Thanks for all the helpful code samples linked.

Sam



More information about the Info-vax mailing list