diff mbox

[1/6] slirp: use socket_set_nonblock

Message ID 1332236961-22743-2-git-send-email-pbonzini@redhat.com
State New
Headers show

Commit Message

Paolo Bonzini March 20, 2012, 9:49 a.m. UTC
Cc: Jan Kiszka <jan.kiszka@siemens.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 slirp/misc.c     |   46 +---------------------------------------------
 slirp/tcp_subr.c |    4 ++--
 2 files changed, 3 insertions(+), 47 deletions(-)

Comments

Stefan Weil March 20, 2012, 11:14 p.m. UTC | #1
Am 20.03.2012 10:49, schrieb Paolo Bonzini:
> Cc: Jan Kiszka<jan.kiszka@siemens.de>
> Signed-off-by: Paolo Bonzini<pbonzini@redhat.com>
> ---
>   slirp/misc.c     |   46 +---------------------------------------------
>   slirp/tcp_subr.c |    4 ++--
>   2 files changed, 3 insertions(+), 47 deletions(-)
>    

Hi Paolo,

the compiler complains about the missing declaration of
socket_set_nonblock in slirp/tcp_subr.c: this file should
include qemu_socket.h.

Regards,
Stefan
Paolo Bonzini March 21, 2012, 6:04 a.m. UTC | #2
Il 21/03/2012 00:14, Stefan Weil ha scritto:
> Am 20.03.2012 10:49, schrieb Paolo Bonzini:
>> Cc: Jan Kiszka<jan.kiszka@siemens.de>
>> Signed-off-by: Paolo Bonzini<pbonzini@redhat.com>
>> ---
>>   slirp/misc.c     |   46 +---------------------------------------------
>>   slirp/tcp_subr.c |    4 ++--
>>   2 files changed, 3 insertions(+), 47 deletions(-)
>>    
> 
> Hi Paolo,
> 
> the compiler complains about the missing declaration of
> socket_set_nonblock in slirp/tcp_subr.c: this file should
> include qemu_socket.h.

Ok, I'll send this patch and a prerequisite separately to Jan, then we
can tackle the main loop.

Paolo
diff mbox

Patch

diff --git a/slirp/misc.c b/slirp/misc.c
index 0308a62..0bee864 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -215,7 +215,7 @@  fork_exec(struct socket *so, const char *ex, int do_pty)
                 setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int));
                 opt = 1;
                 setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int));
-		fd_nonblock(so->s);
+                socket_set_nonblock(so->s);
 
 		/* Append the telnet options now */
                 if (so->so_m != NULL && do_pty == 1)  {
@@ -267,50 +267,6 @@  u_sleep(int usec)
 	select(0, &fdset, &fdset, &fdset, &t);
 }
 
-/*
- * Set fd blocking and non-blocking
- */
-
-void
-fd_nonblock(int fd)
-{
-#ifdef FIONBIO
-#ifdef _WIN32
-        unsigned long opt = 1;
-#else
-        int opt = 1;
-#endif
-
-	ioctlsocket(fd, FIONBIO, &opt);
-#else
-	int opt;
-
-	opt = fcntl(fd, F_GETFL, 0);
-	opt |= O_NONBLOCK;
-	fcntl(fd, F_SETFL, opt);
-#endif
-}
-
-void
-fd_block(int fd)
-{
-#ifdef FIONBIO
-#ifdef _WIN32
-        unsigned long opt = 0;
-#else
-	int opt = 0;
-#endif
-
-	ioctlsocket(fd, FIONBIO, &opt);
-#else
-	int opt;
-
-	opt = fcntl(fd, F_GETFL, 0);
-	opt &= ~O_NONBLOCK;
-	fcntl(fd, F_SETFL, opt);
-#endif
-}
-
 void slirp_connection_info(Slirp *slirp, Monitor *mon)
 {
     const char * const tcpstates[] = {
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index 143a238..5a3d7c2 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -329,7 +329,7 @@  int tcp_fconnect(struct socket *so)
     int opt, s=so->s;
     struct sockaddr_in addr;
 
-    fd_nonblock(s);
+    socket_set_nonblock(s);
     opt = 1;
     setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(opt ));
     opt = 1;
@@ -417,7 +417,7 @@  tcp_connect(struct socket *inso)
 		tcp_close(sototcpcb(so)); /* This will sofree() as well */
 		return;
 	}
-	fd_nonblock(s);
+	socket_set_nonblock(s);
 	opt = 1;
 	setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int));
 	opt = 1;