Remove signal handler for SIGINT, print a \r at the end of cleanup, normalize error output
This commit is contained in:
parent
98e7632d8c
commit
851e2797db
@ -26,7 +26,7 @@ if it failed to setup terminal
|
||||
if it failed to create epoll instance
|
||||
.TP
|
||||
5
|
||||
if it failed to set signal handler (for SIGINT or SIGTERM)
|
||||
if it failed to set signal handler for SIGTERM
|
||||
.TP
|
||||
6
|
||||
if it failed to add a file descriptor to the epoll instance (for stdin or the socket)
|
||||
@ -39,6 +39,9 @@ if it failed to receive data
|
||||
.TP
|
||||
9
|
||||
if it failed to send data
|
||||
.TP
|
||||
10
|
||||
if unattended file descriptor is raised while polling
|
||||
.SH AUTHOR
|
||||
Franck STAUFFER
|
||||
.I <franck.stauffer@monaco.mc>
|
||||
|
23
src/main.c
23
src/main.c
@ -107,7 +107,7 @@ net_init(const char* host, const char* port)
|
||||
void
|
||||
sighandler(int sig)
|
||||
{
|
||||
fprintf(stderr, "Received %s", (sig == SIGTERM) ? "SIGTERM" : "SIGINT");
|
||||
fputs("\n\rINFO: Received SIGTERM\n", stderr);
|
||||
exit(sig);
|
||||
}
|
||||
|
||||
@ -147,18 +147,13 @@ main(int argc, char** argv)
|
||||
|
||||
epoll_fd = epoll_create1(0);
|
||||
if (epoll_fd == -1) {
|
||||
perror("epoll_create1");
|
||||
perror("ERROR: epoll_create1");
|
||||
return 4;
|
||||
}
|
||||
|
||||
atexit(cleanup);
|
||||
if (signal(SIGINT, sighandler) == SIG_ERR) {
|
||||
perror("signal");
|
||||
return 5;
|
||||
}
|
||||
|
||||
if (signal(SIGTERM, sighandler) == SIG_ERR) {
|
||||
perror("signal");
|
||||
perror("ERROR: signal");
|
||||
return 5;
|
||||
}
|
||||
|
||||
@ -168,14 +163,14 @@ main(int argc, char** argv)
|
||||
ev[0].events = EPOLLIN;
|
||||
ev[0].data.fd = 0;
|
||||
if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, 0, &ev[0])) {
|
||||
perror("epoll_ctl");
|
||||
perror("ERROR: epoll_ctl");
|
||||
return 6;
|
||||
}
|
||||
|
||||
ev[1].events = EPOLLIN;
|
||||
ev[1].data.fd = sock;
|
||||
if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, sock, &ev[1])) {
|
||||
perror("epoll_ctl");
|
||||
perror("ERROR: epoll_ctl");
|
||||
return 6;
|
||||
}
|
||||
|
||||
@ -185,7 +180,7 @@ main(int argc, char** argv)
|
||||
struct epoll_event events[2];
|
||||
int_fast8_t count = epoll_wait(epoll_fd, events, 2, -1);
|
||||
if (count == -1) {
|
||||
perror("epoll_wait");
|
||||
perror("ERROR: epoll_wait");
|
||||
return 7;
|
||||
}
|
||||
|
||||
@ -195,7 +190,7 @@ main(int argc, char** argv)
|
||||
memset(buf, 0, 3);
|
||||
int_fast8_t ret = recv(sock, buf, 1, 0);
|
||||
if (ret == -1) {
|
||||
perror("recv");
|
||||
perror("ERROR: recv");
|
||||
return 8;
|
||||
}
|
||||
|
||||
@ -205,7 +200,7 @@ main(int argc, char** argv)
|
||||
if (buf[0] == IAC) {
|
||||
ret = recv(sock, buf + 1, 2, 0);
|
||||
if (ret < 0) {
|
||||
perror("recv");
|
||||
perror("ERROR: recv");
|
||||
return 8;
|
||||
}
|
||||
|
||||
@ -225,7 +220,7 @@ main(int argc, char** argv)
|
||||
}
|
||||
|
||||
if (send(sock, &chr, 1, 0) != 1) {
|
||||
perror("send");
|
||||
perror("ERROR: send");
|
||||
return 9;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user