X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fipc.c;h=b3648bb7de5acdbb3ce5ce2c625b29705a0e26a3;hb=11dbd684e9a3d907d43d71a3145205f1a86992fb;hp=92f898465615a8518b74891e340e286ae7696f98;hpb=759315c5321e354458086e0fc28335c4c12ed194;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/ipc.c b/Usermode/Applications/axwin3_src/WM/ipc.c index 92f89846..b3648bb7 100644 --- a/Usermode/Applications/axwin3_src/WM/ipc.c +++ b/Usermode/Applications/axwin3_src/WM/ipc.c @@ -75,30 +75,40 @@ void IPC_Init(void) int tmp; // TODO: Check this giNetworkFileHandle = open("/Devices/ip/loop/udp", OPENFLAG_READ); - tmp = AXWIN_PORT; ioctl(giNetworkFileHandle, 4, &tmp); // TODO: Don't hard-code IOCtl number + if( giNetworkFileHandle != -1 ) + { + tmp = AXWIN_PORT; + ioctl(giNetworkFileHandle, 4, &tmp); // TODO: Don't hard-code IOCtl number + } } void IPC_FillSelect(int *nfds, fd_set *set) { - if( giNetworkFileHandle > *nfds ) *nfds = giNetworkFileHandle; - FD_SET(giNetworkFileHandle, set); + if( giNetworkFileHandle != -1 ) + { + if( giNetworkFileHandle > *nfds ) *nfds = giNetworkFileHandle; + FD_SET(giNetworkFileHandle, set); + } } void IPC_HandleSelect(fd_set *set) { - if( FD_ISSET(giNetworkFileHandle, set) ) + if( giNetworkFileHandle != -1 ) { - char staticBuf[STATICBUF_SIZE]; - int readlen, identlen; - char *msg; - - readlen = read(giNetworkFileHandle, staticBuf, sizeof(staticBuf)); - - identlen = 4 + Net_GetAddressSize( ((uint16_t*)staticBuf)[1] ); - msg = staticBuf + identlen; - - IPC_Handle(&gIPC_Type_Datagram, staticBuf, readlen - identlen, (void*)msg); -// _SysDebug("IPC_HandleSelect: UDP handled"); + if( FD_ISSET(giNetworkFileHandle, set) ) + { + char staticBuf[STATICBUF_SIZE]; + int readlen, identlen; + char *msg; + + readlen = read(giNetworkFileHandle, staticBuf, sizeof(staticBuf)); + + identlen = 4 + Net_GetAddressSize( ((uint16_t*)staticBuf)[1] ); + msg = staticBuf + identlen; + + IPC_Handle(&gIPC_Type_Datagram, staticBuf, readlen - identlen, (void*)msg); +// _SysDebug("IPC_HandleSelect: UDP handled"); + } } while(SysGetMessage(NULL, NULL))