Revision: 471
          http://vde.svn.sourceforge.net/vde/?rev=471&view=rev
Author:   rd235
Date:     2011-02-14 14:45:32 +0000 (Mon, 14 Feb 2011)

Log Message:
-----------
bugfixes: wirefilter getopt_long option list, vde_switch EAGAIN/EWOULDBLOCK 
(tnx megurikuru)

Modified Paths:
--------------
    trunk/vde-2/src/vde_switch/datasock.c
    trunk/vde-2/src/vde_switch/tuntap.c
    trunk/vde-2/src/wirefilter.c

Modified: trunk/vde-2/src/vde_switch/datasock.c
===================================================================
--- trunk/vde-2/src/vde_switch/datasock.c       2011-01-29 13:58:08 UTC (rev 
470)
+++ trunk/vde-2/src/vde_switch/datasock.c       2011-02-14 14:45:32 UTC (rev 
471)
@@ -92,7 +92,7 @@
        if(n){
                int rv=errno;
 #ifndef VDE_PQ
-               if(errno != EAGAIN) printlog(LOG_WARNING,"send_sockaddr port 
%d: %s",port,strerror(errno));
+               if(errno != EAGAIN && errno != EWOULDBLOCK) 
printlog(LOG_WARNING,"send_sockaddr port %d: %s",port,strerror(errno));
 #endif
                if (n>len)
                        return -rv;
@@ -228,7 +228,7 @@
 
                len=recvfrom(fd, &(packet.p), sizeof(struct packet),0, &sock, 
&socklen);
                if(len < 0){
-                       if (errno == EAGAIN) return;
+                       if (errno == EAGAIN || errno == EWOULDBLOCK) return;
                        printlog(LOG_WARNING,"Reading  data: 
%s",strerror(errno));
                }
                else if(len == 0) 
@@ -243,7 +243,7 @@
 
                len = read(fd, reqbuf, REQBUFLEN);
                if (len < 0) {
-                       if(errno != EAGAIN){
+                       if(errno != EAGAIN && errno != EWOULDBLOCK){
                                printlog(LOG_WARNING,"Reading request %s", 
strerror(errno));
                                remove_fd(fd); 
                        }

Modified: trunk/vde-2/src/vde_switch/tuntap.c
===================================================================
--- trunk/vde-2/src/vde_switch/tuntap.c 2011-01-29 13:58:08 UTC (rev 470)
+++ trunk/vde-2/src/vde_switch/tuntap.c 2011-02-14 14:45:32 UTC (rev 471)
@@ -60,7 +60,8 @@
        if(n){
                int rv=errno;
 #ifndef VDE_PQ
-               if(errno != EAGAIN) printlog(LOG_WARNING,"send_tap port %d: 
%s",port,strerror(errno));
+               if(errno != EAGAIN && errno != EWOULDBLOCK) 
+                       printlog(LOG_WARNING,"send_tap port %d: 
%s",port,strerror(errno));
 #endif
                if (n > len)
                        return -rv;
@@ -82,10 +83,12 @@
        int len=read(fd, &(packet.p), sizeof(struct packet));
 
        if(len < 0){
-               if(errno != EAGAIN) printlog(LOG_WARNING,"Reading tap data: 
%s",strerror(errno));
+               if(errno != EAGAIN && errno != EWOULDBLOCK) 
+                       printlog(LOG_WARNING,"Reading tap data: 
%s",strerror(errno));
        }
        else if(len == 0) {
-               if(errno != EAGAIN) printlog(LOG_WARNING,"EOF tap data port: 
%s",strerror(errno));
+               if(errno != EAGAIN && errno != EWOULDBLOCK) 
+                       printlog(LOG_WARNING,"EOF tap data port: 
%s",strerror(errno));
                /* close tap! */
        } else if (len >= ETH_HEADER_SIZE)
                handle_in_packet(*arg, &(packet.p), len);

Modified: trunk/vde-2/src/wirefilter.c
===================================================================
--- trunk/vde-2/src/wirefilter.c        2011-01-29 13:58:08 UTC (rev 470)
+++ trunk/vde-2/src/wirefilter.c        2011-02-14 14:45:32 UTC (rev 471)
@@ -1453,7 +1453,8 @@
                {"daemon",0 , 0, DAEMONIZEARG},
                {"pidfile", 1, 0, PIDFILEARG},
                {"blink",1,0,LOGSOCKETARG},
-               {"blinkid",1,0,LOGIDARG}
+               {"blinkid",1,0,LOGIDARG},
+               {0,0,0,0}
        };
        progname=basename(argv[0]);
        markov_resize(1);
@@ -1463,7 +1464,7 @@
 
        while(1) {
                int c;
-               c = GETOPT_LONG (argc, argv, "hnl:d:M:D:m:b:s:c:v:L:f:",
+               c = GETOPT_LONG (argc, argv, "hl:n:d:M:D:m:b:s:c:v:L:f:",
                                long_options, &option_index);
                if (c<0)
                        break;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
vde-users mailing list
vde-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vde-users

Reply via email to