Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv27700

Modified Files:
      Tag: Nov2008
        merovingian.mx 
Log Message:
Convert command listener loop into select block instead of non-block + sleep.  
Now we are equal in CPU load to mserver5 in idle mode.

U merovingian.mx
Index: merovingian.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/merovingian.mx,v
retrieving revision 1.69.2.4
retrieving revision 1.69.2.5
diff -u -d -r1.69.2.4 -r1.69.2.5
--- merovingian.mx      28 Dec 2008 15:48:20 -0000      1.69.2.4
+++ merovingian.mx      28 Dec 2008 16:02:58 -0000      1.69.2.5
@@ -1417,6 +1417,8 @@
        socklen_t addrlen;
        struct sockaddr_storage peer_addr;
        socklen_t peer_addr_len;
+       fd_set fds;
+       struct timeval tv;
        int bcs;
        struct sockaddr_in brdcst;
        int c;
@@ -1535,11 +1537,21 @@
                }
 
                peer_addr_len = sizeof(struct sockaddr_storage);
+               FD_ZERO(&fds);
+               FD_SET(sock, &fds);
+               /* Wait up to 1 second. */
+               tv.tv_sec = 1;
+               tv.tv_usec = 0;
+               nread = select(sock + 1, &fds, NULL, NULL, &tv);
+               if (nread == 0) {
+                       /* nothing interesting has happened */
+                       buf[0] = '\0';
+                       continue;
+               }
                nread = recvfrom(sock, buf, 512, MSG_DONTWAIT,
                                (struct sockaddr *)&peer_addr, &peer_addr_len);
                if (nread == -1) {
                        buf[0] = '\0';
-                       MT_sleep_ms(1000); /* don't spin: this is the 
clock-tick granularity */
                        continue; /* ignore failed request */
                }
 


------------------------------------------------------------------------------
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to