--- src/common/Dispatch/rpcbuf.C.orig Wed Oct 20 19:42:58 1999 +++ src/common/Dispatch/rpcbuf.C Wed Oct 20 19:44:12 1999 @@ -977,12 +977,20 @@ // jfasch 24 Apr 1995 int rpcbuf :: rpc_read (int fd, char* buf, int len) { int nread ; +#ifdef __FreeBSD__ + while ((nread = ::read (fd, buf, len)) < 0 && errno == EINTR) ; +#else while ((nread = ::read (fd, buf, len)) < 0 && ::errno == EINTR) ; +#endif return nread ; } int rpcbuf :: rpc_write (int fd, const char* buf, int len) { int nwritten ; +#ifdef __FreeBSD__ + while ((nwritten = ::write (fd, buf, len)) < 0 && errno == EINTR) ; +#else while ((nwritten = ::write (fd, buf, len)) < 0 && ::errno == EINTR) ; +#endif return nwritten ; } #endif