Index: src/OFAutoreleasePool.m ================================================================== --- src/OFAutoreleasePool.m +++ src/OFAutoreleasePool.m @@ -36,10 +36,13 @@ } @implementation OFAutoreleasePool + (void)initialize { + if (self != [OFAutoreleasePool class]) + return; + pool_list_key = [[OFTLSKey alloc] initWithDestructor: release_list]; } + (void)addToPool: (OFObject*)obj { Index: src/OFSocket.m ================================================================== --- src/OFSocket.m +++ src/OFSocket.m @@ -24,10 +24,13 @@ @implementation OFSocket #ifdef _WIN32 + (void)initialize { WSADATA wsa; + + if (self != [OFSocket class]) + return; if (WSAStartup(MAKEWORD(2, 0), &wsa)) @throw [OFInitializationFailedException newWithClass: self]; } #endif