Hacker News new | past | comments | ask | show | jobs | submit login

Here is an implementation of coroutines on top of setjmp/longjmp: https://fanf.livejournal.com/105413.html



How does it work for arbitrary arguments? What about function pointers. What about calling a coroutine inside a coroutine?

It also has a stack managed in runtime. I'm not sure that would work for any other application than the fun example here.


Looks more like an implementation of undefined behaviour to me.


"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

https://news.ycombinator.com/newsguidelines.html


The underlying implementations define the behavior here very well.


Well, I would not go that far. My coroutine hack relies on “unwarranted chumminess with the implementation” (http://c-faq.com/struct/structhack.html) and there are lots of incidental things that can break it. It is best treated as an example of the principles of thread switching and stack allocation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: