DiscoveryClient::~DiscoveryClient()
{
- close(eventPipe[1]);
- close(eventPipe[0]);
+ if (close(eventPipe[1]) < 0) {
+ ErrPrintCode(errno, "close pipe[1]");
+ }
+
+ if (close(eventPipe[0]) < 0) {
+ ErrPrintCode(errno, "close pipe[0]");
+ }
}
void DiscoveryClient::Destroy(void)
DiscoveryServer::~DiscoveryServer()
{
- close(eventPipe[1]);
- close(eventPipe[0]);
+ if (close(eventPipe[1]) < 0) {
+ ErrPrintCode(errno, "close pipe[1]");
+ }
+
+ if (close(eventPipe[0]) < 0) {
+ ErrPrintCode(errno, "close pipe[0]");
+ }
}
void DiscoveryServer::Destroy(void)
} catch (NsdLoopException &e) {
ErrPrintCode(e.returnValue, "quit() Fail");
}
- close(epoll_fd);
+
+ if (close(epoll_fd) < 0) {
+ ErrPrintCode(errno, "close epoll_fd");
+ }
}
void NsdEventLoop::addWatch(int fd, eventCallback cb)
ev.data.fd = looprun_fd;
int ret = epoll_ctl(epoll_fd, EPOLL_CTL_ADD, looprun_fd, &ev);
if (ret < 0) {
+ ret = -errno;
ErrPrintCode(errno, "epoll_ctl() Fail");
- close(looprun_fd);
+ if (close(looprun_fd) < 0) {
+ ErrPrintCode(errno, "close looprun_fd");
+ }
looprun_fd = -1;
- throw NsdLoopException(-errno);
+ throw NsdLoopException(ret);
}
loop = std::thread([this]() {
} else {
ErrPrint("Invalid fd(%d), not found", events[i].data.fd);
}
-
}
}
}
loop.join();
epoll_ctl(epoll_fd, EPOLL_CTL_DEL, looprun_fd, NULL);
- close(looprun_fd);
+ if (close(looprun_fd) < 0) {
+ ErrPrintCode(errno, "close looprun_fd");
+ }
looprun_fd = -1;
}