Jan Vrany wrote:
Hi there,
I have encountered a situation where semaphore timeouts
prematurely when run in "non-interactive" mode (eval cmdline handler). Setup (script prepare.sh)
1) Fresh Pharo image (3.0 / 4.0, both exhibits the same behaviour)
2) Evaluate: ==
Smalltalk at: #WaitBlock put: [:sema :tout | (sema waitTimeoutSeconds:
tout) ifTrue:[ Halt now ] ].
==
3. Save image

Run 1: 1) Run the image, open workspace
2) Evaluate:
==
| sema |
sema := Semaphore new.
[ 100 factorial. sema signal ] fork.
(Smalltalk at: #WaitBlock) value: sema value: 60*60.
'OK'
==
Returns 'OK' as expected (100 factorial should not take more than
hour :-)


Run 2 (script test.sh)
1) The same, but evaluate using command line handler: ./pharo Test.image eval "\
| sema |\
\
sema := Semaphore new.\
[ 100 factorial. sema signal ] fork.\
(Smalltalk at: #WaitBlock) value: sema value: 60*60.\
'OK'\
"
Halt triggers, which is what I would not expect. Why is that? Bug? Or Am I missing something obvious?
Best, Jan

Is it like the thread on "Super fast delay" ?
http://forum.world.st/Super-fast-delay-td4787257.html

I have a fix for Pharo 4 ready to be reviewed...
https://pharo.fogbugz.com/default.asp?14353

cheers -ben


Reply via email to