<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>>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't that ifCurtailed: prevent this walkback?</blockquote><div><br></div><div>It doesn't prevent the walkback, but makes sure that "socket destroy" is called. Experiment with:</div><div><br></div><div>
[Error signal] ifCurtailed: [Transcript show: 'Abandoned'; cr].</div><div>Transcript show: 'Proceeded'; 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>