mirror of https://github.com/xzeldon/htop.git
safer code, test for return of fcntl
This commit is contained in:
parent
28d4cad5fe
commit
1afbc19087
|
@ -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);
|
||||||
|
if (ok != -1) {
|
||||||
sprintf(buffer, "%d", this->process->pid);
|
sprintf(buffer, "%d", this->process->pid);
|
||||||
execlp("strace", "strace", "-p", buffer, NULL);
|
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);
|
||||||
|
|
Loading…
Reference in New Issue