Sept. 22, 2016
8:20 a.m.
On Thu, Sep 22, 2016 at 2:54 PM, Henrik Sperre Johansen <henrik.s.johansen@veloxit.no> wrote:
The semaphores are strongly held, but not the objects that put them there. Sockets are the main users of the table. Sockets are finalized by removing registered semaphores from the table. Garbage collect triggers finalization.
Hence, garbage collect can result in slots being freed.
Gotcha.Thanks for that insight. Socket>>finalize self primSocketDestroyGently: socketHandle. Smalltalk unregisterExternalObject: semaphore. Smalltalk unregisterExternalObject: readSemaphore. Smalltalk unregisterExternalObject: writeSemaphore. cheers -ben