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
