Commit
2d7a4d61 made adu's signal handling portable by switching from
signal() to sigaction() for installing signal handlers. This commit
added the new function catch_signal() which returns the return value
of the underlying call to sigaction(), i.e. zero on success, and -1
on errors.
However, embarrassingly enough, one caller of catch_signal() still
checked this return value against SIG_ERR, which is the value that
is returned from signal() on errors.
Fix this bug by testing the return value against zero.
return -E_SIGACTION;
if (catch_signal(SIGTERM) < 0)
return -E_SIGACTION;
- if (catch_signal(SIGPIPE) == SIG_ERR)
+ if (catch_signal(SIGPIPE) < 0)
return -E_SIGACTION;
return 1;
}