VirtualMachine(Object)>>error: VirtualMachine>>maxExternalSemaphores: ExternalSemaphoreTable class>>freedSlotsIn:ratherThanIncreaseSizeTo: ExternalSemaphoreTable class>>collectionBasedOn:withRoomFor: ExternalSemaphoreTable class>>privateRegisterExternalObject: [self privateRegisterExternalObject: anObject] in ExternalSemaphoreTable class>>registerExternalObject: in Block: [self privateRegisterExternalObject: anObject] [ caught := true. self wait. blockValue := mutuallyExcludedBlock value ] in Semaphore>>critical: in Block: [... FullBlockClosure(BlockClosure)>>ensure: Semaphore>>critical: ExternalSemaphoreTable class>>registerExternalObject: SmalltalkImage>>registerExternalObject: Socket>>initialize: [ super new initialize: TCPSocketType ] in Socket class>>newTCP in Block: [ super new initialize: TCPSocketType ] FullBlockClosure(BlockClosure)>>repeatWithGCIf: Socket class>>newTCP Socket class>>new SocketStream class>>openConnectionToHost:port:timeout: Mongo>>openWithTimeout: MongoMonitor>>ensureMongoIsOpened [ self ensureMongoIsOpened. self doCheckAndHandleSuccess ] in MongoMonitor>>checkOnce in Block: [ self ensureMongoIsOpened.... FullBlockClosure(BlockClosure)>>on:do: MongoMonitor>>checkOnce MongoMonitor>>stepService MongoMonitor(TKTService)>>iterateService [ self iterateService. self scheduleRecursiveTask ] in MongoMonitor(TKTService)>>start in Block: [ ... TKTGenericTask>>evaluateOn: TKTTaskExecution>>doExecuteTask TKTReadyTaskState>>performTaskExecution: TKTTaskExecution>>executeTask [ self executeTask ] in TKTTaskExecution>>value in Block: [ self executeTask ]