Roman Kennke writes:
 > > While testing eclipse I sometimes saw interrupted reads occur. VMChannel
 > > already had a mechanism for checking the interrupted status of a thread
 > > when a system call returned early. But this wasn't used for the read()
 > > and write() methods. This patch adds the logic. And makes my eclipse
 > > happy again :)
 > 
 > I am seeing a (possibly) related issue still:
 > 
 > java.net.SocketException: Interrupted system call

If connect(2) returns EINTR, you should retry:

CPNIO_EXPORT int
cpnio_connect (int fd, const struct sockaddr *addr, socklen_t addrlen)
{
  int retcode;
  do
    {
      retcode = connect (fd, addr, addrlen);
    }
  while (retcode == EINTR);
  return retcode;
}

Andrew.

Reply via email to