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
[ Parent
| on HN ]
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."
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.