On Thu, Sep 22, 2016 at 2:54 PM, Henrik Sperre Johansen
<
[hidden email]> 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