<div class="gmail_quote"><div>Hi Tim,</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Still - it would seem that by signalling this - it could happen, and something should catch it?<br>
<br>
Looking again, I see the following method in the stack:<br>
<br>
WAListenerAdaptor&gt;&gt;waitForConnection: aSocket<br>
        | socket stream |<br>
        socket := aSocket waitForAcceptFor: 10.<br>
        socket isNil ifTrue: [ ^ self ].<br>
        stream := SocketStream on: socket.<br>
        [ [ [ self process: stream ]<br>
                ensure: [ stream close ] ]<br>
                        ifCurtailed: [ socket destroy ] ]<br>
                                forkAt: Processor userBackgroundPriority<br>
<br>
<br>
Shouldn&#39;t that ifCurtailed: prevent this walkback?</blockquote><div><br></div><div>It doesn&#39;t prevent the walkback, but makes sure that &quot;socket destroy&quot; is called. Experiment with:</div><div><br></div><div>
[Error signal] ifCurtailed: [Transcript show: &#39;Abandoned&#39;; cr].</div><div>Transcript show: &#39;Proceeded&#39;; cr</div><div><br></div><div>from the  excellent exception PBE draft chapter: <a href="https://gforge.inria.fr/frs/download.php/26600/PBE2-Exceptions-2010-03-02.pdf">https://gforge.inria.fr/frs/download.php/26600/PBE2-Exceptions-2010-03-02.pdf</a></div>
<div><br></div><div>Nick</div></div>