projects
/
project
/
libubox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
uloop: Remove uloop_cancelled variable, it is not used anywhere
[project/libubox.git]
/
uloop.c
diff --git
a/uloop.c
b/uloop.c
index
0566d80
..
9fedcce
100644
(file)
--- a/
uloop.c
+++ b/
uloop.c
@@
-58,7
+58,6
@@
static struct list_head processes = LIST_HEAD_INIT(processes);
static int poll_fd = -1;
bool uloop_cancelled = false;
static int poll_fd = -1;
bool uloop_cancelled = false;
-bool uloop_handle_sigchld = true;
static bool do_sigchld = false;
static struct uloop_fd_event cur_fds[ULOOP_MAX_EVENTS];
static bool do_sigchld = false;
static struct uloop_fd_event cur_fds[ULOOP_MAX_EVENTS];
@@
-174,7
+173,8
@@
static int uloop_fetch_events(int timeout)
if (events[n].flags & EV_ERROR) {
u->error = true;
if (events[n].flags & EV_ERROR) {
u->error = true;
- uloop_fd_delete(u);
+ if (!(u->flags & ULOOP_ERROR_CB))
+ uloop_fd_delete(u);
}
if(events[n].filter == EVFILT_READ)
}
if(events[n].filter == EVFILT_READ)
@@
-268,7
+268,8
@@
static int uloop_fetch_events(int timeout)
if (events[n].events & (EPOLLERR|EPOLLHUP)) {
u->error = true;
if (events[n].events & (EPOLLERR|EPOLLHUP)) {
u->error = true;
- uloop_fd_delete(u);
+ if (!(u->flags & ULOOP_ERROR_CB))
+ uloop_fd_delete(u);
}
if(!(events[n].events & (EPOLLRDHUP|EPOLLIN|EPOLLOUT|EPOLLERR|EPOLLHUP))) {
}
if(!(events[n].events & (EPOLLRDHUP|EPOLLIN|EPOLLOUT|EPOLLERR|EPOLLHUP))) {
@@
-383,6
+384,7
@@
int uloop_fd_add(struct uloop_fd *sock, unsigned int flags)
sock->registered = true;
sock->eof = false;
sock->registered = true;
sock->eof = false;
+ sock->error = false;
out:
return ret;
out:
return ret;
@@
-572,9
+574,6
@@
static void uloop_setup_signals(bool add)
sigaction(SIGINT, &s, &old_sigint);
sigaction(SIGINT, &s, &old_sigint);
- if (!uloop_handle_sigchld)
- return;
-
if (add)
s.sa_handler = uloop_sigchld;
else
if (add)
s.sa_handler = uloop_sigchld;
else
@@
-643,6
+642,7
@@
void uloop_run(void)
if (!recursive_calls++)
uloop_setup_signals(true);
if (!recursive_calls++)
uloop_setup_signals(true);
+ uloop_cancelled = false;
while(!uloop_cancelled)
{
uloop_gettime(&tv);
while(!uloop_cancelled)
{
uloop_gettime(&tv);