fix(picodata): fix graceful stopping
Was broken because `tarantool_free` checks if the current process is the main one and not the child, which was forked at some point (at what point?). This check was implemented by saving the original process's id in the static variable master_pid, which got set when the code got loaded the first time into memory. So we broke this when we started forking the process in picodata, which resulted in `master_pid` being set to the pid of the picodata's "supervisor" process, which doesn't even enter tarantool runtime. The fix is simple - save master_pid first thing when running tarantool_main.
Please register or sign in to comment