From: Vlad S. <ser...@us...> - 2005-11-12 18:30:55
|
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 ---- |