Friday, August 23, 2019

Replacement for sigtimedwait() in OpenBSD?

Not sure if ports@ is correct for this. I am trying to build e2guardian[0]
5.3.3 on OpenBSD in order to replace dansguardian[1], which does exists
in ports but is derelict.


There is one obstacle. In FatController.cpp the program uses
sigtimedwait(), which doesn't exist on OpenBSD. The code snippet reads:

timeout.tv_sec = 5;
timeout.tv_nsec = (long) 0;
rc = sigtimedwait(&signal_set, NULL, &timeout);
if (rc < 0) {
if (errno != EAGAIN) {
syslog(LOG_INFO, "%sUnexpected error from sigtimedwait() %d %s", thread_id.c_str(), errno, strerror(errno));
}
} else {
if (rc == SIGUSR1)
gentlereload = true;
if (rc == SIGTERM)
ttg = true;
if (rc == SIGHUP)
gentlereload = true;
#ifdef DGDEBUG
std::cerr << "signal:" << rc << std::endl;

No comments:

Post a Comment