----- Original Message ----- From: "Craig A. Berry" <[EMAIL PROTECTED]> To: "Michael G Schwern" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Wednesday, November 14, 2001 2:29 AM Subject: Re: select() broken under VMS?
> At 7:46 PM -0500 11/13/01, Michael G Schwern wrote: > >I'm flipping through the IO::* tests when I hit this in io_sel.t > > >Can't use an undefined value as a symbol reference at ../ext/io/lib/io/t/io_sel. > >t line 71. > >%C-F-ENOTSOCK, socket operation on non-socket > > The error message pretty much says it all. Just because any UNIX on > the planet allows socket calls on handles attached to things that are > not sockets doesn't mean that any standard requires it, and it seems > to have come as a surprise to the VMS engineers that people would > want to do this. They've definitely been made aware of this by now, > and I've seen roadmaps recently indicating support for this in the > future (along with named pipes and fork() in the kernel) but it may > be a couple of years. In the meantime I think you just can't do that. > -- > ____________________________________________ > Craig A. Berry > mailto:[EMAIL PROTECTED] > > "Literary critics usually know what they're > talking about. Even if they're wrong." > -- Perl creator Larry Wall > Windows suffers from the same problem. The solution on windows is to spawn two threads, wait for them, and in one thread do WaitForMultipleObjects and in the other thread do select(). Could this approach be usable on VMS? Arthur
