Recently I have discovered a problem on the OpenVMS platform that only occurs in omniORB 4(12).  It did not occur in omniORB 2 or 3.<br><br>Occasionally, a server will display the following:<br><br>omniORB: Error return from select(). errno = 65535<br>

omniORB: Unrecoverable 
error for this endpoint: giop:tcp:xx.xx.xx.xx:xxxxx, it will no longer be 
serviced.<br><br>In order to get more information, I have modified the code in SocketCollection.cc to utilize ::perror on the OpenVMS platform so now I can see:<br><br>Error return from select(): non-translatable vms error code: 0x13C<br>

%system-f-ivchan, invalid i/o channel<br>omniORB: Unrecoverable error for this endpoint: giop:tcp:xx.xx.xx.xx:xxxxx, it will no longer be serviced.<br><br>This looks like a bug in TCPIP for OpenVMS to me but I can&#39;t really provie it so I am trying to find a work around for it.  I have discovered that If I configure omniORB to use poll rather than select it have a longer mean time between failures.  It also helps to set -ORBconnectionWatchPeriod to (e.g.) 500000 (.5 sec rather than 50ms).<br>

<br>I am wondering what would happen if I turn off the timeout in select altogether.  (Iirc, you do that by passing a null in place of the timeout*)  Would this just make it more difficult to have a graceful shutdown?  (The way around that would be to issue a shutdown on the listening socket from a different thread it seems to me.)  Is there a way to do this already?<br>

<br>Has anyone ever had any problems with this on other platforms?<br><br>Thanks for any help,<br><br>Bruce Visscher<br>