Weird, I could have sworn that was the first thing I tried and it didn't work. I must have had some other bug at the time that has subsequently been fixed since it works just fine now. Thanks to both of you.

Dave

Kristján Valur Jónsson wrote:
That’s a very roundabout way to do it.

Simply set the channel’s preference to 1 (sender preference) and the
receiver will be scheduled to run in its own good time.

K

*From:*[email protected]
[mailto:[email protected]] *On Behalf Of *David Butler
*Sent:* 18. apríl 2011 23:57
*To:* The Stackless Python Mailing List
*Subject:* Re: [Stackless] Watchdog and Channel Receiving in C

It turns out that the problem was in how I was sending the message. I
was sending straight from C with PyChannel_Send(), and it was firing off
all the code immediately. If I instead spawn a tasklet that sends the
message, everything is scheduled under the watchdog properly.

On Apr 18, 2011 6:26 PM, "Richard Tew" <[email protected]
<mailto:[email protected]>> wrote:
 > On Tue, Apr 19, 2011 at 1:34 AM, Dave Butler <[email protected]
<mailto:[email protected]>> wrote:
 >
 >> I've browsed through some of the stackless code, and I'm not
entirely sure
 >> what is happening in there. It appears to me that when data is
received on
 >> a channel, it immediately fires off the rest of the function rather than
 >> scheduling it for execution? I may be entirely wrong here...
 >>
 >> Has anyone encountered this at all? I'm happy to delve into and make
 >> changes to the stackless code if necessary, or if someone knows a better
 >> method to achieve the same thing I would appreciate any pointers. I
would
 >> prefer to go under the assumption that script-writers do NOT know how
 >> stackless works and should not be required to do any cooperative
scheduling
 >> themselves. Feel free to let me know if I was unclear on any particular
 >> points.
 >>
 >
 > Hi Dave,
 >
 > How a channel behaves with regard to scheduling when an operation is
 > performed on it, is determined by its preference attribute. See this
entry:
 >
 >
 >
http://disinterest.org/resource/stackless/2.6-docs-html/library/stackless/channels.html#channel.preference
 >
 > And this entry:
 >
 >
 >
http://disinterest.org/resource/stackless/2.6-docs-html/library/stackless/channels.html#channel.schedule_all
 >
 > Cheers,
 > Richard.

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to