On Sat, Mar 26, 2022 at 07:27:00PM +0800, Zhu Zihao wrote: > > IIUC, After fork and execute the program, shepherd will wait for the pid > file to appear. This is a block operation. > > Shepherd on Fiber make this operation non-blocking (because the pid file > is created by Linux kernel, Shepherd just need to wait for it), every > service activation runs on its own fiber. after fork+exec, shepherd > suspend current fiber, andspawn another fiber to start another service > immediately. > > But finally all fibers are co-operatively scheduled on 1 thread.
Thank you Zhu for explaining! I had not understood waiting for the PID file is the issue solved by fibers. Regards, Florian