News for hackers. Stuff that matters.
Re:Banned C standard library functions in Git source code by tlb on Sunday August 25, 2019 @12:04PM (#20793677)
Here is an implementation of coroutines on top of setjmp/longjmp: https://fanf.livejournal.com/105413.html
Re:Banned C standard library functions in Git source code by superpermutat0r on Sunday August 25, 2019 @01:19PM (#20794127)
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.

Re:Banned C standard library functions in Git source code by vasama on Sunday August 25, 2019 @12:15PM (#20793754)
Looks more like an implementation of undefined behaviour to me.
Re:Banned C standard library functions in Git source code by dang on Sunday August 25, 2019 @02:26PM (#20794591)
"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

Re:Banned C standard library functions in Git source code by monocasa on Sunday August 25, 2019 @12:24PM (#20793796)
The underlying implementations define the behavior here very well.
Re:Banned C standard library functions in Git source code by fanf2 on Sunday August 25, 2019 @04:03PM (#20795177)
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.