Survive EINTR while invoking external compiler. (#8323)
commit29898e39bfbac0fdca65a9878d4a837a39751780
authorKeith Adams <kma@slack-corp.com>
Wed, 26 Sep 2018 15:24:13 +0000 (26 08:24 -0700)
committerHhvm Bot <hhvm-bot@users.noreply.github.com>
Wed, 26 Sep 2018 15:28:48 +0000 (26 08:28 -0700)
tree168af082a92613bfcc39301ebd3438ac170845ac
parent0dbdfd9ee098579afcca95d474efaa22d8930082
Survive EINTR while invoking external compiler. (#8323)

Summary:
When using the Xenon sampling profiler, HHVM will periodically thwack
itself with SIGVTALRM, causing blocking system calls to fail with EINTR.
This included reads over the pipe to the HackC child compiler, which
led to runtime failures.

With this patch we are able to run for long periods of time with the
Xenon profiler on, and `hh_single_compile` singly compiling its little
heart out. Xenon in non-RepoAuth is a major improvement to our
production and dev inspectability.
Pull Request resolved: https://github.com/facebook/hhvm/pull/8323

Reviewed By: markw65

Differential Revision: D10011642

Pulled By: fredemmott

fbshipit-source-id: f4d0d736c3239bdef76fb83cf174bbf02922f9ae
hphp/runtime/vm/extern-compiler.cpp