On 9 May 2010 17:32, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On May 9, 2010, at 2:20 PM, Geoffroy Couprie wrote:
Hello,
I try to play with sockets in Pharo, and I encounter a strange error. Here is my code: |tempsock| Â Â Â Socket initialize. Â Â Â tempsock := Socket newTCP. Â Â Â tempsock listenOn: 12345 backlogSize: 4.
   [sock isNil] whileTrue:[sock:= tempsock waitForAcceptFor: 600].    sock sendCommand: 'Hello world!!'.    sock ifNotNil:        [[sock isConnected] whileTrue:        [[sock waitForDataUntil:2000] ifTrue:            [sock sendCommand:'Looping'.            sock sendCommand: sock receiveData ].    ]].    sock closeAndDestroy.
Now Geoffroy I think that Socket is not "optimal".
sock ifNotNil: Â Â Â Â Â Â Â [[sock isConnected] whileTrue: Â Â Â Â Â Â Â [[sock waitForDataUntil:2000] ifTrue:
seems like #waitForDataUntil: could answer not only false or true, but also a nil. Just do it like that: Â Â Â Â Â Â Â Â Â Â Â Â (sock waitForDataUntil: 2000) == true ifTrue: [
           [sock sendCommand:'Looping'.            sock sendCommand: sock receiveData ] ].
   ]].
Once the connection is accepted, an exception is thrown in "sock waitForDataUntil:2000" by BlockCosure>>mustBeBooleanIn:context. From what I see, the signal "proceed for truth" is sent, and th debugger kicks in.
How can I prevent the debugger from starting?
Best regards,
Geoffroy
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Best regards, Igor Stasenko AKA sig.