{"push_id":754984756,"size":1,"distinct_size":1,"ref":"refs/heads/dev","head":"0ec809e027c643e42103b12340855c438b9a775b","before":"b907dcaefe88a874488e2ad5e1c99c58873add2d","commits":[{"sha":"0ec809e027c643e42103b12340855c438b9a775b","author":{"email":"0ed1648d92ca0373297a182b1dba1b974ad10d88@intel.com","name":"Thiago Macieira"},"message":"forkfd: Add support for FreeBSD's pdfork(2) system call\n\npdfork(2) has semantics very close to what we want in forkfd, but not\nquite. Differences:\n - we still get SIGCHLD and need to do a wait4\n - no support for atomic FD_CLOEXEC and O_NONBLOCK\n\nOn the SIGCHLD case: this commit is an improvement over the generic Unix\ncase, since we no longer need to install a SIGCHLD handler and do not\nneed to keep the arrays for matching PIDs and file descriptors. That\nmatching is done entirely inside the kernel.\n\nHowever, since SIGCHLD is still sent to the process, an uncooperative\nSIGCHLD handler can still \"steal\" our response. At least Glib is\ndocumented not to reap children it wasn't explicitly asked to watch for\n(source code matches), but other libraries are known to do waitpid(-1)\n(e.g., EFL's Ecore). At least now the behavior is consistent: we will\nnever install a handler, so the behavior won't depend on the order in\nwhich the handlers are installed.\n\nChange-Id: Iee8cbc07c4434ce9b560ffff13cb4c63306e43ef\nReviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>\nReviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>\nReviewed-by: Thiago Macieira <thiago.macieira@intel.com>","distinct":true,"url":"https://api.github.com/repos/qtproject/qtbase/commits/0ec809e027c643e42103b12340855c438b9a775b"}]}