Jeffrey F. Lukman has uploaded this change for review. ( http://gerrit.cloudera.org:8080/9042
Change subject: KUDU-2208 Add RETRY_ON_EINTR() to Subprocess ...................................................................... KUDU-2208 Add RETRY_ON_EINTR() to Subprocess This patch submits a unit test that create a Subprocess thread and while it is starting and waiting, another thread sends kill signals to the Subprocess thread. Since the pthread_kill() signal is sent asynchronously, sometimes the pthread_kill() raises error signal 3. In that condition, the unit test logs the incident as an INFO. Prior to this bug fix patch, the Subprocess throws an exception because it cannot handle the kill signal in Wait() state. To fix the bug, we add RETRY_ON_EINTR() inside Subprocess::DoWait() function. Furthermore, this patch also moves the RETRY_ON_EINTR() function that occurs in many places across the code to os-util.h and it adds alarm reset in the end of TestReadFromStdoutAndStderr in Subprocess-test Change-Id: Iffabada54eb2359730e9e2973b263d71645fa572 --- M src/kudu/util/os-util.h M src/kudu/util/subprocess-test.cc 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/42/9042/1 -- To view, visit http://gerrit.cloudera.org:8080/9042 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Iffabada54eb2359730e9e2973b263d71645fa572 Gerrit-Change-Number: 9042 Gerrit-PatchSet: 1 Gerrit-Owner: Jeffrey F. Lukman <[email protected]>
