[caught := true.
self wait.
blockValue := mutuallyExcludedBlock value] in Semaphore>>critical:
BlockClosure>>ensure:
Semaphore>>critical:
Semaphore>>critical:ifError:
WeakRegistry>>protected:
WeakRegistry>>remove:ifAbsent:
HostSystemMenusProxy class>>unregister:
HostSystemMenusProxy>>unregister
HostSystemMenusProxy>>destroyEveryThing
[self destroyEveryThing] in HostSystemMenusProxy>>finalize
BlockClosure>>on:do:
BlockClosure>>ifError:
HostSystemMenusProxy>>finalize
WeakFinalizerItem>>finalizeValues
[:finItem | finItem finalizeValues] in [valueDictionary
expiredValuesDo: [:finItem | finItem finalizeValues]] in WeakRegistry>>finalizeValues
WeakIdentityKeyDictionary(WeakKeyDictionary)>>expiredValuesDo:
[valueDictionary
expiredValuesDo: [:finItem | finItem finalizeValues]] in WeakRegistry>>finalizeValues
[mutuallyExcludedBlock value] in [blockValue := [mutuallyExcludedBlock value]
ifError: [:msg :rcvr |�
hasError := true.
errMsg := msg.
errRcvr := rcvr]] in Semaphore>>critical:ifError:
BlockClosure>>on:do:
BlockClosure>>ifError:
[blockValue := [mutuallyExcludedBlock value]
ifError: [:msg :rcvr |�
hasError := true.
errMsg := msg.
errRcvr := rcvr]] in Semaphore>>critical:ifError:
[caught := true.
self wait.
blockValue := mutuallyExcludedBlock value] in Semaphore>>critical:
BlockClosure>>ensure:
Semaphore>>critical:
Semaphore>>critical:ifError:
WeakRegistry>>protected:
WeakRegistry>>finalizeValues
[:weakDependent | weakDependent
ifNotNil: [weakDependent finalizeValues]] in [WeakFinalizationList checkTestPair.
FinalizationDependents
do: [:weakDependent | weakDependent
ifNotNil: [weakDependent finalizeValues]]] in WeakArray class>>finalizationProcess
WeakArray(SequenceableCollection)>>do:
[WeakFinalizationList checkTestPair.
FinalizationDependents
do: [:weakDependent | weakDependent
ifNotNil: [weakDependent finalizeValues]]] in WeakArray class>>finalizationProcess
[mutuallyExcludedBlock value] in [blockValue := [mutuallyExcludedBlock value]
ifError: [:msg :rcvr |�
hasError := true.
errMsg := msg.
errRcvr := rcvr]] in Semaphore>>critical:ifError:
BlockClosure>>on:do:
BlockClosure>>ifError:
[blockValue := [mutuallyExcludedBlock value]
ifError: [:msg :rcvr |�
hasError := true.
errMsg := msg.
errRcvr := rcvr]] in Semaphore>>critical:ifError:
[caught := true.
self wait.
blockValue := mutuallyExcludedBlock value] in Semaphore>>critical:
BlockClosure>>ensure:
Semaphore>>critical:
Semaphore>>critical:ifError:
WeakArray class>>finalizationProcess
[self finalizationProcess] in WeakArray class>>restartFinalizationProcess
[self value.
Processor terminateActive] in BlockClosure>>newProcess