AcessNative - Fixes mostly, still not yet complete
[tpg/acess2.git] / AcessNative / acesskernel_src / server.c
index 725a326..0cede83 100644 (file)
@@ -118,6 +118,7 @@ int Server_WorkerThread(void *ClientPtr)
        tRequestHeader  errorHeader;
         int    retSize = 0;
         int    sentSize;
+        int    cur_client_id = 0;
        
        #if USE_TCP
        #else
@@ -127,6 +128,11 @@ int Server_WorkerThread(void *ClientPtr)
                while( Client->CurrentRequest == NULL )
                        SDL_CondWait(Client->WaitFlag, Client->Mutex);
                
+               if(Client->ClientID != cur_client_id) {
+                       Threads_SetThread( Client->ClientID );
+                       cur_client_id = Client->ClientID;
+               }
+               
                Log_Debug("AcessSrv", "Worker %i takes %p",
                        Client->ClientID, Client->CurrentRequest);
                
@@ -245,9 +251,11 @@ int SyscallServer(void)
                tRequestHeader  *req = (void*)data;
                struct sockaddr_in      addr;
                uint    clientSize = sizeof(addr);
-                int    length = recvfrom(gSocket, data, BUFSIZ, 0, (struct sockaddr*)&addr, &clientSize);
+                int    length;
                tClient *client;
                
+               length = recvfrom(gSocket, data, BUFSIZ, 0, (struct sockaddr*)&addr, &clientSize);
+               
                if( length == -1 ) {
                        perror("SyscallServer - recv");
                        break;

UCC git Repository :: git.ucc.asn.au