[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b

aCaB acab at clamav.net
Sun Apr 4 01:24:38 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit 4fa9557e8c101db72fcc50b4ed66b1864b424f6c
Author: aCaB <acab at clamav.net>
Date:   Tue Mar 23 00:09:00 2010 +0100

    bb#1892

diff --git a/clamd/server-th.c b/clamd/server-th.c
index 02b6e9d..8676ed2 100644
--- a/clamd/server-th.c
+++ b/clamd/server-th.c
@@ -387,10 +387,6 @@ static void *acceptloop_th(void *arg)
 
 	    if (new_sd >= 0) {
 		int ret, flags;
-#ifdef _WIN32
-		if(sock_set_nonblock(new_sd))
-		    logg("^Can't set socket to nonblocking mode, errno %d\n", errno);
-#else
 #ifdef F_GETFL
 		flags = fcntl(new_sd, F_GETFL, 0);
 		if (flags != -1) {
@@ -404,7 +400,6 @@ static void *acceptloop_th(void *arg)
 #else
 		logg("^Nonblocking sockets not available!\n");
 #endif
-#endif
 		logg("$Got new connection, FD %d\n", new_sd);
 		pthread_mutex_lock(recv_fds->buf_mutex);
 		ret = fds_add(recv_fds, new_sd, 0, commandtimeout);
diff --git a/win32/compat/net.c b/win32/compat/net.c
index c98627b..048ed38 100644
--- a/win32/compat/net.c
+++ b/win32/compat/net.c
@@ -350,15 +350,6 @@ int w32_shutdown(int sockfd, int how) {
     return 0;
 }
 
-int sock_set_nonblock(int sockfd) {
-    u_long arg = 1;
-    if(ioctlsocket((SOCKET)sockfd, FIONBIO, &arg)) {
-	wsock2errno();
-	return -1;
-    }
-    return 0;
-}
-
 struct w32polldata {
     HANDLE setme;
     HANDLE event;
@@ -459,3 +450,21 @@ int poll_with_event(struct pollfd *fds, int nfds, int timeout, HANDLE event) {
     free(setme);
     return ret;
 }
+
+int fcntl(int fd, int cmd, ...) {
+    va_list ap;
+    va_start(ap, cmd);
+
+    if(cmd == F_GETFL)
+	    return 0;
+    if(cmd == F_SETFL) {
+	u_long arg = va_arg(ap, long) == O_NONBLOCK;
+	if(ioctlsocket((SOCKET)fd, FIONBIO, &arg)) {
+	    wsock2errno();
+	    return -1;
+	}
+	return 0;
+    }
+    return -1;
+}
+
diff --git a/win32/compat/net.h b/win32/compat/net.h
index 0901a85..b0b4bfb 100644
--- a/win32/compat/net.h
+++ b/win32/compat/net.h
@@ -24,6 +24,10 @@
 typedef int socklen_t;
 typedef int ssize_t;
 
+#define F_GETFL 1
+#define F_SETFL 2
+#define O_NONBLOCK 1
+
 int w32_socket(int domain, int type, int protocol);
 int w32_getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
 int w32_setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
@@ -43,6 +47,6 @@ int poll_with_event(struct pollfd *fds, int nfds, int timeout, HANDLE event);
 int w32_accept(SOCKET sockfd, const struct sockaddr *addr, socklen_t *addrlen);
 int w32_listen(int sockfd, int backlog);
 int w32_shutdown(int sockfd, int how);
-int sock_set_nonblock(int sockfd);
+int fcntl(int fd, int cmd, ...);
 
 #endif
diff --git a/win32/libclamav.def b/win32/libclamav.def
index e5f429a..248ff70 100644
--- a/win32/libclamav.def
+++ b/win32/libclamav.def
@@ -195,4 +195,4 @@ EXPORTS w32_stat @44331 NONAME
 EXPORTS w32_strerror @44332 NONAME
 EXPORTS w32_strerror_r @44333 NONAME
 EXPORTS inet_addr @44334 NONAME
-EXPORTS sock_set_nonblock @44335 NONAME
+EXPORTS fcntl @44335 NONAME

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list