wfreerdp-server: fix parallel send
authorCorey C <can.of.tuna@gmail.com>
Sat, 6 Oct 2012 21:09:53 +0000 (17:09 -0400)
committerCorey C <can.of.tuna@gmail.com>
Sat, 6 Oct 2012 21:09:53 +0000 (17:09 -0400)
server/Windows/wf_info.c
server/Windows/wf_update.c

index a9d4f67..7180797 100644 (file)
@@ -250,7 +250,7 @@ void wf_info_peer_unregister(wfInfo* wfi, wfPeerContext* context)
                wfi->peerCount--;\r
                CloseHandle(context->updateEvent);\r
 \r
-               printf("Unregistering Peer: %d\n", wfi->peerCount);\r
+               printf("Unregistering Peer: id=%d, #=%d\n", peerId, wfi->peerCount);\r
 \r
 #ifdef WITH_WIN8\r
                if (wfi->peerCount == 0)\r
index 70d5a81..9ddd47a 100644 (file)
@@ -37,6 +37,7 @@
 DWORD WINAPI wf_update_thread(LPVOID lpParam)
 {
        int index;
+       int peerindex;
        DWORD fps;
        wfInfo* wfi;
        DWORD beg, end;
@@ -63,13 +64,17 @@ DWORD WINAPI wf_update_thread(LPVOID lpParam)
 
                                        //printf("Start of parallel sending\n");
 
-                                       for (index = 0; index < wfi->peerCount; index++)
+                                       for (peerindex = 0; peerindex < wfi->peerCount; peerindex++)
                                        {
-                                               if (wfi->peers[index]->activated)
+                                               for (index = 0; index < WF_INFO_MAXPEERS; index++)
                                                {
-                                                       //printf("Setting event for %d of %d\n", index + 1, wfi->activePeerCount);
-                                                       SetEvent(((wfPeerContext*) wfi->peers[index]->context)->updateEvent);
+                                                       if (wfi->peers[index] && wfi->peers[index]->activated)
+                                                       {
+                                                               //printf("Setting event for %d of %d\n", index + 1, wfi->activePeerCount);
+                                                               SetEvent(((wfPeerContext*) wfi->peers[index]->context)->updateEvent);
+                                                       }
                                                }
+                                               
                                        }
 
                                        for (index = 0; index < wfi->activePeerCount; index++)