{"push_id":2039352408,"size":4,"distinct_size":3,"ref":"refs/heads/generic_app_support","head":"12bd609cb9759a015a359b33ef40147e06e2379a","before":"5acc10e0d4e8ffcb95bf5d74b85a25584e0389f3","commits":[{"sha":"66904ebfa38e094bc23c2b390eb149f41822f335","author":{"name":"Hongli Lai (Phusion)","email":"aa3c144632d2e9ca377eb4b4257dcfce7acab6e3@phusion.nl"},"message":"Use less fork() and more asyncFork()\n\nOn macOS 10.11 El Capitan, we have confirmed\na case in which the child process can get stuck indefinitely with 0% CPU.\nIf we we create a thread which performs memory allocation, and shortly\nafter thread creation we fork, then the child process gets stuck because\none of its pthread_atfork() handlers tries to allocate memory, which tries\nto grab a lock which was already locked.\n\nThis means that on macOS we pretty much should never use regular fork() at\nall in a multithreaded environment.\n\nThis commit is a first step towards completely getting rid of regular\nfork() in favor of asyncFork().","distinct":false,"url":"https://api.github.com/repos/phusion/passenger/commits/66904ebfa38e094bc23c2b390eb149f41822f335"},{"sha":"fc855ed84e76504b08b795ee63ea4d80a9bd03fb","author":{"name":"Hongli Lai (Phusion)","email":"aa3c144632d2e9ca377eb4b4257dcfce7acab6e3@phusion.nl"},"message":"Merge branch 'stable-5.1' into generic_app_support","distinct":true,"url":"https://api.github.com/repos/phusion/passenger/commits/fc855ed84e76504b08b795ee63ea4d80a9bd03fb"},{"sha":"ee8bcefc920455cf683c70255d98696e7bded25b","author":{"name":"Hongli Lai (Phusion)","email":"aa3c144632d2e9ca377eb4b4257dcfce7acab6e3@phusion.nl"},"message":"runCommand() and runCommandAndCaptureOutput(): run afterFok handler before closing file descriptors\n\nSo that things like dup2() can work.","distinct":true,"url":"https://api.github.com/repos/phusion/passenger/commits/ee8bcefc920455cf683c70255d98696e7bded25b"},{"sha":"12bd609cb9759a015a359b33ef40147e06e2379a","author":{"name":"Hongli Lai (Phusion)","email":"aa3c144632d2e9ca377eb4b4257dcfce7acab6e3@phusion.nl"},"message":"SpawnEnvSetupperMain: do not use fork() directly\n\nOn macOS 10.11 El Capitan, we have confirmed that this causes\nthe child process can get stuck indefinitely with 0% CPU.\nThe LoggingKit GC thread spawned shortly before we fork,\nand that thread grabs some memory allocation mutex while\nwe are forking. Inside the child, some pthread_atfork()\nhandler tries to grab that mutex too and deadlocks.\n\nWe now use runCommand() which avoids this problem.","distinct":true,"url":"https://api.github.com/repos/phusion/passenger/commits/12bd609cb9759a015a359b33ef40147e06e2379a"}]}
{"actor":{"display_login":"FooBarWidget"}}