The SST code in wsrep_util.cc uses posix_spawnp() to spawn a shell process executing the actual SST script. I don't if there's any viable reason to use posix_spawnp() instead of fork()/exec(), but one problem we can solve by doing it with fork()/exec() is cleaning up children (i.e. processes spawned by the SST script) when mysqld crashes or is killed with a non-interceptable signal such as SIGKILL.
The SST code in wsrep_util.cc uses posix_spawnp() to spawn a shell process executing the actual SST script. I don't if there's any viable reason to use posix_spawnp() instead of fork()/exec(), but one problem we can solve by doing it with fork()/exec() is cleaning up children (i.e. processes spawned by the SST script) when mysqld crashes or is killed with a non-interceptable signal such as SIGKILL.
See my #4 in https:/ /bugs.launchpad .net/percona- xtradb- cluster/ +bug/1380697.