X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2Flibaxwin3.so_src%2Fmsg.c;h=4625db77aa41845ade8e3394dc8db389c84ab0dd;hb=7378996995784940b371210bf7167628551a3486;hp=17d089f9238babbda6375f9d35a3f776a1393a92;hpb=8c12dd82f2a4e01d8de5d29db6d4fdd0802c7e83;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c b/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c index 17d089f9..4625db77 100644 --- a/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c +++ b/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c @@ -121,11 +121,16 @@ tAxWin_IPCMessage *AxWin3_int_GetIPCMessage(void) switch(giConnectionType) { case CONNTYPE_SENDMESSAGE: - _SysWaitEvent(THREAD_EVENT_IPCMSG); - while(SysGetMessage(NULL, NULL)) + for( ;; ) { pid_t tid; - len = SysGetMessage(&tid, NULL); + + // Wait for a message to arrive + while( !(len = SysGetMessage(&tid, NULL)) ) + { + _SysWaitEvent(THREAD_EVENT_IPCMSG); + } + // Check if the message came from the server if(tid != giConnectionNum) {