Commit 1afbc190 authored by Hisham Muhammad's avatar Hisham Muhammad
Browse files

safer code, test for return of fcntl

parent 28d4cad5
...@@ -87,9 +87,11 @@ void TraceScreen_run(TraceScreen* this) { ...@@ -87,9 +87,11 @@ void TraceScreen_run(TraceScreen* this) {
if (child == -1) return; if (child == -1) return;
if (child == 0) { if (child == 0) {
dup2(fdpair[1], STDERR_FILENO); dup2(fdpair[1], STDERR_FILENO);
fcntl(fdpair[1], F_SETFL, O_NONBLOCK); int ok = fcntl(fdpair[1], F_SETFL, O_NONBLOCK);
sprintf(buffer, "%d", this->process->pid); if (ok != -1) {
execlp("strace", "strace", "-p", buffer, NULL); sprintf(buffer, "%d", this->process->pid);
execlp("strace", "strace", "-p", buffer, NULL);
}
const char* message = "Could not execute 'strace'. Please make sure it is available in your $PATH."; const char* message = "Could not execute 'strace'. Please make sure it is available in your $PATH.";
write(fdpair[1], message, strlen(message)); write(fdpair[1], message, strlen(message));
exit(1); exit(1);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment