Update of /cvsroot/naviserver/naviserver/nssock
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14311/nssock
Modified Files:
nssock.c
Log Message:
Index: nssock.c
===================================================================
RCS file: /cvsroot/naviserver/naviserver/nssock/nssock.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** nssock.c 10 Jun 2005 17:58:58 -0000 1.2
--- nssock.c 12 Nov 2005 18:30:40 -0000 1.3
***************
*** 46,51 ****
static Ns_DriverProc SockProc;
- static int SockRecv(SOCKET sock, struct iovec *bufs, int nbufs);
- static int SockSend(SOCKET sock, struct iovec *bufs, int nbufs);
--- 46,49 ----
***************
*** 114,132 ****
switch (cmd) {
case DriverRecv:
! n = SockRecv(sock->sock, bufs, nbufs);
! if (n < 0
! && ns_sockerrno == EWOULDBLOCK
! && Ns_SockWait(sock->sock, NS_SOCK_READ, sock->driver->recvwait) == NS_OK) {
! n = SockRecv(sock->sock, bufs, nbufs);
! }
break;
case DriverSend:
! n = SockSend(sock->sock, bufs, nbufs);
! if (n < 0
! && ns_sockerrno == EWOULDBLOCK
! && Ns_SockWait(sock->sock, NS_SOCK_WRITE, sock->driver->sendwait) == NS_OK) {
! n = SockSend(sock->sock, bufs, nbufs);
! }
break;
--- 112,120 ----
switch (cmd) {
case DriverRecv:
! n = Ns_SockRecvBufs(sock->sock, bufs, nbufs, sock->driver->recvwait);
break;
case DriverSend:
! n = Ns_SockSendBufs(sock->sock, bufs, nbufs, sock->driver->sendwait);
break;
***************
*** 146,188 ****
- static int
- SockRecv(SOCKET sock, struct iovec *bufs, int nbufs)
- {
- #ifdef _WIN32
- int n, flags;
-
- flags = 0;
- if (WSARecv(sock, (LPWSABUF)bufs, nbufs, &n, &flags, NULL, NULL) != 0) {
- n = -1;
- }
- return n;
- #else
- struct msghdr msg;
-
- memset(&msg, 0, sizeof(msg));
- msg.msg_iov = bufs;
- msg.msg_iovlen = nbufs;
- return recvmsg(sock, &msg, 0);
- #endif
- }
-
-
- static int
- SockSend(SOCKET sock, struct iovec *bufs, int nbufs)
- {
- #ifdef _WIN32
- int n;
-
- if (WSASend(sock, (LPWSABUF)bufs, nbufs, &n, 0, NULL, NULL) != 0) {
- n = -1;
- }
- return n;
- #else
- struct msghdr msg;
-
- memset(&msg, 0, sizeof(msg));
- msg.msg_iov = bufs;
- msg.msg_iovlen = nbufs;
- return sendmsg(sock, &msg, 0);
- #endif
- }
--- 134,135 ----
|