On Thu, Sep 22, 2016 at 2:54 PM, Henrik Sperre Johansen
<henrik.s.johan...@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

Reply via email to