examples: prefer return over exit() (cont.)
Some of these calls were not in callbacks. These examples may leak
handles.
Also fix some whitespace.
Follow-up to 08c7c937dc #16507
Closes #16524
This commit is contained in:
parent
5693342ec2
commit
b4834a7d6d
@ -418,22 +418,22 @@ static int init_fifo(GlobalInfo *g)
|
|||||||
struct epoll_event epev;
|
struct epoll_event epev;
|
||||||
|
|
||||||
fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
|
fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
|
||||||
if(lstat (fifo, &st) == 0) {
|
if(lstat(fifo, &st) == 0) {
|
||||||
if((st.st_mode & S_IFMT) == S_IFREG) {
|
if((st.st_mode & S_IFMT) == S_IFREG) {
|
||||||
errno = EEXIST;
|
errno = EEXIST;
|
||||||
perror("lstat");
|
perror("lstat");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unlink(fifo);
|
unlink(fifo);
|
||||||
if(mkfifo (fifo, 0600) == -1) {
|
if(mkfifo(fifo, 0600) == -1) {
|
||||||
perror("mkfifo");
|
perror("mkfifo");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
||||||
if(sockfd == -1) {
|
if(sockfd == -1) {
|
||||||
perror("open");
|
perror("open");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
g->fifofd = sockfd;
|
g->fifofd = sockfd;
|
||||||
@ -449,9 +449,9 @@ static int init_fifo(GlobalInfo *g)
|
|||||||
|
|
||||||
static void clean_fifo(GlobalInfo *g)
|
static void clean_fifo(GlobalInfo *g)
|
||||||
{
|
{
|
||||||
epoll_ctl(g->epfd, EPOLL_CTL_DEL, g->fifofd, NULL);
|
epoll_ctl(g->epfd, EPOLL_CTL_DEL, g->fifofd, NULL);
|
||||||
fclose(g->input);
|
fclose(g->input);
|
||||||
unlink(fifo);
|
unlink(fifo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -478,13 +478,13 @@ int main(int argc, char **argv)
|
|||||||
g.epfd = epoll_create1(EPOLL_CLOEXEC);
|
g.epfd = epoll_create1(EPOLL_CLOEXEC);
|
||||||
if(g.epfd == -1) {
|
if(g.epfd == -1) {
|
||||||
perror("epoll_create1 failed");
|
perror("epoll_create1 failed");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
g.tfd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK | TFD_CLOEXEC);
|
g.tfd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK | TFD_CLOEXEC);
|
||||||
if(g.tfd == -1) {
|
if(g.tfd == -1) {
|
||||||
perror("timerfd_create failed");
|
perror("timerfd_create failed");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&its, 0, sizeof(struct itimerspec));
|
memset(&its, 0, sizeof(struct itimerspec));
|
||||||
@ -496,7 +496,8 @@ int main(int argc, char **argv)
|
|||||||
ev.data.fd = g.tfd;
|
ev.data.fd = g.tfd;
|
||||||
epoll_ctl(g.epfd, EPOLL_CTL_ADD, g.tfd, &ev);
|
epoll_ctl(g.epfd, EPOLL_CTL_ADD, g.tfd, &ev);
|
||||||
|
|
||||||
init_fifo(&g);
|
if(init_fifo(&g))
|
||||||
|
return 1;
|
||||||
g.multi = curl_multi_init();
|
g.multi = curl_multi_init();
|
||||||
|
|
||||||
/* setup the generic multi interface options we want */
|
/* setup the generic multi interface options we want */
|
||||||
@ -521,7 +522,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
perror("epoll_wait");
|
perror("epoll_wait");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -402,22 +402,22 @@ static int init_fifo(GlobalInfo *g)
|
|||||||
curl_socket_t sockfd;
|
curl_socket_t sockfd;
|
||||||
|
|
||||||
fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
|
fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
|
||||||
if(lstat (fifo, &st) == 0) {
|
if(lstat(fifo, &st) == 0) {
|
||||||
if((st.st_mode & S_IFMT) == S_IFREG) {
|
if((st.st_mode & S_IFMT) == S_IFREG) {
|
||||||
errno = EEXIST;
|
errno = EEXIST;
|
||||||
perror("lstat");
|
perror("lstat");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unlink(fifo);
|
unlink(fifo);
|
||||||
if(mkfifo (fifo, 0600) == -1) {
|
if(mkfifo(fifo, 0600) == -1) {
|
||||||
perror("mkfifo");
|
perror("mkfifo");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
||||||
if(sockfd == -1) {
|
if(sockfd == -1) {
|
||||||
perror("open");
|
perror("open");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
g->input = fdopen(sockfd, "r");
|
g->input = fdopen(sockfd, "r");
|
||||||
|
|
||||||
@ -436,7 +436,8 @@ int main(int argc, char **argv)
|
|||||||
memset(&g, 0, sizeof(GlobalInfo));
|
memset(&g, 0, sizeof(GlobalInfo));
|
||||||
g.loop = ev_default_loop(0);
|
g.loop = ev_default_loop(0);
|
||||||
|
|
||||||
init_fifo(&g);
|
if(init_fifo(&g))
|
||||||
|
return 1;
|
||||||
g.multi = curl_multi_init();
|
g.multi = curl_multi_init();
|
||||||
|
|
||||||
ev_timer_init(&g.timer_event, timer_cb, 0., 0.);
|
ev_timer_init(&g.timer_event, timer_cb, 0., 0.);
|
||||||
|
|||||||
@ -392,21 +392,21 @@ int init_fifo(void)
|
|||||||
if((st.st_mode & S_IFMT) == S_IFREG) {
|
if((st.st_mode & S_IFMT) == S_IFREG) {
|
||||||
errno = EEXIST;
|
errno = EEXIST;
|
||||||
perror("lstat");
|
perror("lstat");
|
||||||
exit(1);
|
return CURL_SOCKET_BAD;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unlink(fifo);
|
unlink(fifo);
|
||||||
if(mkfifo (fifo, 0600) == -1) {
|
if(mkfifo(fifo, 0600) == -1) {
|
||||||
perror("mkfifo");
|
perror("mkfifo");
|
||||||
exit(1);
|
return CURL_SOCKET_BAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
socket = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
socket = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
||||||
|
|
||||||
if(socket == -1) {
|
if(socket == CURL_SOCKET_BAD) {
|
||||||
perror("open");
|
perror("open");
|
||||||
exit(1);
|
return socket;
|
||||||
}
|
}
|
||||||
MSG_OUT("Now, pipe some URL's into > %s\n", fifo);
|
MSG_OUT("Now, pipe some URL's into > %s\n", fifo);
|
||||||
|
|
||||||
@ -421,6 +421,8 @@ int main(void)
|
|||||||
GIOChannel* ch;
|
GIOChannel* ch;
|
||||||
|
|
||||||
fd = init_fifo();
|
fd = init_fifo();
|
||||||
|
if(fd == CURL_SOCKET_BAD)
|
||||||
|
return 1;
|
||||||
ch = g_io_channel_unix_new(fd);
|
ch = g_io_channel_unix_new(fd);
|
||||||
g_io_add_watch(ch, G_IO_IN, fifo_cb, g);
|
g_io_add_watch(ch, G_IO_IN, fifo_cb, g);
|
||||||
gmain = g_main_loop_new(NULL, FALSE);
|
gmain = g_main_loop_new(NULL, FALSE);
|
||||||
|
|||||||
@ -399,22 +399,22 @@ static int init_fifo(GlobalInfo *g)
|
|||||||
curl_socket_t sockfd;
|
curl_socket_t sockfd;
|
||||||
|
|
||||||
fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
|
fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
|
||||||
if(lstat (fifo, &st) == 0) {
|
if(lstat(fifo, &st) == 0) {
|
||||||
if((st.st_mode & S_IFMT) == S_IFREG) {
|
if((st.st_mode & S_IFMT) == S_IFREG) {
|
||||||
errno = EEXIST;
|
errno = EEXIST;
|
||||||
perror("lstat");
|
perror("lstat");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unlink(fifo);
|
unlink(fifo);
|
||||||
if(mkfifo (fifo, 0600) == -1) {
|
if(mkfifo (fifo, 0600) == -1) {
|
||||||
perror("mkfifo");
|
perror("mkfifo");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
|
||||||
if(sockfd == -1) {
|
if(sockfd == -1) {
|
||||||
perror("open");
|
perror("open");
|
||||||
exit(1);
|
return 1;
|
||||||
}
|
}
|
||||||
g->input = fdopen(sockfd, "r");
|
g->input = fdopen(sockfd, "r");
|
||||||
|
|
||||||
@ -440,7 +440,8 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
memset(&g, 0, sizeof(GlobalInfo));
|
memset(&g, 0, sizeof(GlobalInfo));
|
||||||
g.evbase = event_base_new();
|
g.evbase = event_base_new();
|
||||||
init_fifo(&g);
|
if(init_fifo(&g))
|
||||||
|
return 1;
|
||||||
g.multi = curl_multi_init();
|
g.multi = curl_multi_init();
|
||||||
evtimer_assign(&g.timer_event, g.evbase, timer_cb, &g);
|
evtimer_assign(&g.timer_event, g.evbase, timer_cb, &g);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user