Are you sure that the tasklet isn't simply blocked in the self.sock.recv()?
channel balance is in all likelyhood not broken. So much else would break if that were true. And the fact that you could send() to the channel from gdb, shows that someone was listening.
K
> -----Original Message-----
> From: stackless-bounces at stackless.com [mailto:stackless-
>bounces at stackless.com] On Behalf Of Bot Tiger
> Sent: 5. febrúar 2010 01:57
> To: stackless at stackless.com> Subject: [Stackless] Channel Balance Error
>> I was attempting to fix the pyevent stackless nonblocking socket module
> here:
>http://code.google.com/p/stacklessexamples/wiki/StacklessNonblockModule> s
>> I ran into a problem where the channel balance was incorrect. A
> threadlet is blocked trying to send on line 215 when the channel
> balance is -1. Using pdb and executing send unblocks the channel. When
> weakref was removed, the problem went away.
>> Stakkars thought I should post on the mailing list so here it is.
>>http://codepad.org/TWa68adr