[unlikely that you haven't thought of this, but on the off-chance it
helps;
and because if channel->balance were ever broken I would expect a
*lot* more to
be wrong...]
Are you doing "preemptive" scheduling? Is there a race-condition
where the balance is checked just prior to a receiver blocking?
(this would be the classic all-consumer-busy-but-one-about-to-be-ready
race condition you would only see under heavy load...)
On Jul 10, 2009, at 10:48 AM, Paul Sijben wrote:
I tracked down a bug in my code that occasionally popped up to
channel.balance being wrong sometimes.
Some part of my code can not afford to block, so it checks the balance
wheter it should send something into the channel. If there is a
receiver
waiting on it, that is fed by a send and the sender will not block.
Now
I find that just occasionally the process stalls because there is a
receiver waiting but the sender does not send as channel.balance==0
instead of -1!
I am running the current 2.6.2 version of stackless
(Python 2.6.2 Stackless 3.1b3 060516 (python-2.6.2:73804M, Jul 3
2009,
11:33:51) )
Is this issue known, and possibly solved in svn?
Paul
--
Paul Sijben tel: +31334566488
Eemvalley Technology BV fax: +31334557523
the Netherlands http://eemvalley.com
-----------------------------------------------------
EemValley Technology werft python & wxpython
programmeurs: http://www.eemvalley.nl/jobs
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless