News for hackers. Stuff that matters.

Co-routines in C

http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html

Read this article on three different occasions to understand its intent. It finally clicked when I read this:

"...co-routines save the control state of a function between calls. Kinda like recursion - you know exactly where are you going to return after a function call...When you call a co-routine, it doesn’t start all over from the beginning. Rather, it starts from right after where it returned (yielded control) the previous time it was called."

Source:http://eli.thegreenplace.net/2009/08/29/co-routines-as-an-alternative-to-state-machines/

( 1 comment | 7 points | on HN )
Re:Co-routines in C by mgreenbe on Sunday August 30, 2009 @04:40PM (#794952)
A neat trick, but also one of the better arguments for more principled macro systems. These macros are fragile, and the error messages for misuse must be inscrutable. So: cool, but I hope I never have to use it.