Merge pull request #48 from snowblind/sharedmemory
[umurmur.git] / src / server.c
index 46175e9f538e939de73f7aaed5d60d8512b85074..4b90734c60a386b4fc63a037b47a9ef02437bea2 100644 (file)
@@ -141,6 +141,10 @@ void Server_runLoop(struct pollfd* pollfds)
        while (!shutdown_server) {
                struct sockaddr_storage remote;
                int i;
+               
+#ifdef USE_SHAREDMEMORY_API
+    Sharedmemory_alivetick();
+#endif
 
                for(i = 0; i < nofServerSocks; i++) {
                        pollfds[i].revents = 0;
@@ -171,8 +175,8 @@ void Server_runLoop(struct pollfd* pollfds)
                /* Check for new connection */
                for (i = 0; i < nofServerSocks / 2; i++) {
                        if (pollfds[i].revents) {
-                               static int tcpfd;
-                               static uint32_t addrlen = sizeof(struct sockaddr_storage);
+                               int tcpfd;
+                               uint32_t addrlen = sizeof(struct sockaddr_storage);
                                tcpfd = accept(pollfds[i].fd, (struct sockaddr *)&remote, &addrlen);
                                fcntl(tcpfd, F_SETFL, O_NONBLOCK);
                                setsockopt(tcpfd, IPPROTO_TCP, TCP_NODELAY, (char *) &on, sizeof(int));
@@ -194,7 +198,9 @@ void Server_runLoop(struct pollfd* pollfds)
                        if (pollfds[nofServerSocks + i].revents & POLLOUT)
                                Client_write_fd(pollfds[nofServerSocks + i].fd);
                }
+#ifdef USE_SHAREDMEMORY_API    
     Sharedmemory_update();
+#endif    
        }
 }