Re: [PATCH 0/5] fork/exec removal series
From: David Kastrup <hidden>
Date: 2016-06-15 22:43:37
Johannes Sixt [off-list ref] writes:
Johannes Schindelin schrieb:quoted
On Sun, 30 Sep 2007, Johannes Sixt wrote:quoted
These cases I hope to be able to treat as "coroutine": - sideband demultiplexer in builtin-fetch-pack.c - internal rev-list in upload-pack - the two-way pipe handling in convert.c and builtin-upload-archive.c There are probably more in daemon.c and imap-send.c. BTW, the convert.c case (apply_filter) is most interesting for me, since I have a real-world use-case for a clean-filter.Calling it coroutine is interesting... But yes, I agree that these three cases cannot be handled otherwise.Suggestions for a better name are appreciated!
I think coroutine is commonly used as the name for _synchronous_ context switches aka message passing. Basically the same as subroutine calls, except that the called subroutine has its own dynamic context (instruction pointer, call stack, control flow) that gets activated and suspended. If there is parallelism implied, "thread" is the more appropriate name. -- David Kastrup