Alexander Sabourenkov wrote: > Hello. > > I have went and replaced Python threads with explicitly-scheduled > coroutines using swapcontext() family of functions (basically out of > frustration with the greenlet). > > I have two questions. > > 1. Is it as dangerous to switch C stacks and not switch PyThreadState as > I suspect? In particular, how tightly is PyThreadState::frame coupled to > current C stack?
Off the top of my head, recursion limit checks will definitely go haywire, and I would expect threading.local() and exception handling to explode at some point (although the latter depends on what you mean by "switching C stacks" - if you really are just fiddling the stack pointer without affecting the thread local heap storage mechanisms, the latter two should be fine. Still doesn't sound like a good idea though). Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia --------------------------------------------------------------- _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com