@@ -60,10 +60,20 @@ QUEUE_WRITE = 2 }; #define QUEUE_ACTION (QUEUE_ADD | QUEUE_REMOVE) @implementation OFKernelEventObserver ++ (void)initialize +{ + if (self != [OFKernelEventObserver class]) + return; + + if (!of_init_sockets()) + @throw [OFInitializationFailedException + exceptionWithClass: self]; +} + + (instancetype)observer { return [[[self alloc] init] autorelease]; } @@ -115,13 +125,10 @@ #ifdef OF_HAVE_PIPE if (pipe(_cancelFD)) @throw [OFInitializationFailedException exceptionWithClass: [self class]]; #else - /* Make sure network has been initialized */ - [OFStreamSocket class]; - _cancelFD[0] = socket(AF_INET, SOCK_DGRAM, 0); _cancelFD[1] = socket(AF_INET, SOCK_DGRAM, 0); if (_cancelFD[0] == INVALID_SOCKET || _cancelFD[1] == INVALID_SOCKET)