- IPC_Handle(&gIPC_Type_Datagram, staticBuf, readlen - identlen, (void*)msg);
-// _SysDebug("IPC_HandleSelect: UDP handled");
+ IPC_Handle( IPC_int_GetClient(&gIPC_Type_Datagram, staticBuf), readlen - identlen, (void*)msg);
+ //_SysDebug("IPC_HandleSelect: UDP handled");
+ }
+
+ if( giIPCPipeHandle != -1 && FD_ISSET(giIPCPipeHandle, set) )
+ {
+ int newfd = _SysOpenChild(giIPCPipeHandle, "newclient", OPENFLAG_READ|OPENFLAG_WRITE);
+ _SysDebug("newfd = %i");
+ IPC_int_GetClient(&gIPC_Type_IPCPipe, &newfd);
+ }
+
+ for( int i = 0; i < giIPC_ClientCount; i ++ )
+ {
+ if( gIPC_Clients[i] && gIPC_Clients[i]->IPCType == &gIPC_Type_IPCPipe )
+ {
+ int fd = *(const int*)gIPC_Clients[i]->Ident;
+ if( FD_ISSET(fd, set) )
+ {
+ char staticBuf[STATICBUF_SIZE];
+ size_t len;
+ len = _SysRead(fd, staticBuf, sizeof(staticBuf));
+ IPC_Handle( gIPC_Clients[i], len, (void*)staticBuf );
+ }
+ }