@@ -31,10 +31,13 @@ # import "OFTCPSocket.h" #endif #import "OFThread.h" #import "OFAutoreleasePool.h" +#ifdef HAVE_KQUEUE +# import "OFStreamObserver_kqueue.h" +#endif #ifdef HAVE_POLL_H # import "OFStreamObserver_poll.h" #endif #if defined(HAVE_SYS_SELECT_H) || defined(_WIN32) # import "OFStreamObserver_select.h" @@ -58,11 +61,19 @@ + observer { return [[[self alloc] init] autorelease]; } -#if defined(HAVE_POLL_H) +#if defined(HAVE_KQUEUE) ++ alloc +{ + if (self == [OFStreamObserver class]) + return [OFStreamObserver_kqueue alloc]; + + return [super alloc]; +} +#elif defined(HAVE_POLL_H) + alloc { if (self == [OFStreamObserver class]) return [OFStreamObserver_poll alloc];