From: Subrata <sub...@us...> - 2009-03-23 14:34:46
|
Update of /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14647/ltp/testcases/kernel/syscalls/libevent Modified Files: buffer.c epoll.c epoll_sub.c err.c evbuffer.c event.3 event.c install-sh kqueue.c poll.c rtsig.c select.c signal.c Log Message: Coding Syle Cleanups. Signed-Off-By: <mic...@pe...>. Index: err.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/err.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** err.c 26 Feb 2009 12:16:08 -0000 1.2 --- err.c 23 Mar 2009 13:35:53 -0000 1.3 *************** *** 42,47 **** #include <errno.h> ! void ! err(int eval, const char *fmt, ...) { va_list ap; --- 42,46 ---- #include <errno.h> ! void err(int eval, const char *fmt, ...) { va_list ap; *************** *** 57,62 **** } ! void ! warn(const char *fmt, ...) { va_list ap; --- 56,60 ---- } ! void warn(const char *fmt, ...) { va_list ap; *************** *** 71,76 **** } ! void ! errx(int eval, const char *fmt, ...) { va_list ap; --- 69,73 ---- } ! void errx(int eval, const char *fmt, ...) { va_list ap; *************** *** 84,89 **** } ! void ! warnx(const char *fmt, ...) { va_list ap; --- 81,85 ---- } ! void warnx(const char *fmt, ...) { va_list ap; *************** *** 92,97 **** if (fmt != NULL) (void)vfprintf(stderr, fmt, ap); ! (void)fprintf(stderr, "\n"); va_end(ap); } - --- 88,92 ---- if (fmt != NULL) (void)vfprintf(stderr, fmt, ap); ! (void)fprintf(stderr, "\n"); va_end(ap); } Index: event.3 =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/event.3,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** event.3 2 Nov 2004 22:02:28 -0000 1.1 --- event.3 23 Mar 2009 13:35:53 -0000 1.2 *************** *** 229,233 **** .Fa arg argument. ! The .Fa fd indicates the file descriptor that should be monitored for events. --- 229,233 ---- .Fa arg argument. ! The$ .Fa fd indicates the file descriptor that should be monitored for events. *************** *** 269,273 **** schedules the execution of the .Fa ev ! event when the event specified in .Fn event_set occurs or in at least the time specified in the --- 269,273 ---- schedules the execution of the .Fa ev ! event when the event specified in$ .Fn event_set occurs or in at least the time specified in the *************** *** 318,322 **** If .Va EV_TIMEOUT ! was specified and .Fa tv is not --- 318,322 ---- If .Va EV_TIMEOUT ! was specified and$ .Fa tv is not *************** *** 384,388 **** .Fa "fd" specifies the file descriptor from which data is read and written to. ! This file descriptor is not allowed to be a .Xr pipe 2 . The next three parameters are callbacks. --- 384,388 ---- .Fa "fd" specifies the file descriptor from which data is read and written to. ! This file descriptor is not allowed to be a$ .Xr pipe 2 . The next three parameters are callbacks. Index: rtsig.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/rtsig.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** rtsig.c 2 Nov 2004 22:02:29 -0000 1.1 --- rtsig.c 23 Mar 2009 13:35:53 -0000 1.2 *************** *** 33,42 **** struct rtsigop { ! sigset_t sigs; ! struct pollfd *poll; ! struct event **toev; ! int cur, max, total; #ifndef HAVE_WORKING_RTSIG ! int pollmode; #endif }; --- 33,42 ---- struct rtsigop { ! sigset_t sigs; ! struct pollfd *poll; ! struct event **toev; ! int cur, max, total; #ifndef HAVE_WORKING_RTSIG ! int pollmode; #endif }; *************** *** 44,121 **** #define INIT_MAX 16 ! static int ! poll_add(struct rtsigop *op, struct event *ev) { ! struct pollfd *pfd; ! if (op->poll == NULL) return 0; ! if (op->cur == op->max) { ! void *p; ! p = realloc(op->poll, sizeof(*op->poll) * (op->max << 1)); ! if (!p) { ! errno = ENOMEM; ! return -1; ! } ! op->poll = p; ! p = realloc(op->toev, sizeof(*op->toev) * (op->max << 1)); ! if (!p) { ! op->poll = realloc(op->poll, sizeof(*op->poll) * op->max); ! errno = ENOMEM; ! return -1; ! } ! op->toev = p; ! op->max <<= 1; ! } ! pfd = &op->poll[op->cur]; ! pfd->fd = ev->ev_fd; ! pfd->events = 0; ! if (ev->ev_events & EV_READ) pfd->events |= POLLIN; ! if (ev->ev_events & EV_WRITE) pfd->events |= POLLOUT; ! pfd->revents = 0; ! op->toev[op->cur] = ev; ! op->cur++; ! return 0; } ! static void ! poll_free(struct rtsigop *op, int n) { ! if (op->poll == NULL) return; ! op->cur--; ! if (n < op->cur) { ! memcpy(&op->poll[n], &op->poll[op->cur], sizeof(*op->poll)); ! op->toev[n] = op->toev[op->cur]; ! } ! if (op->max > INIT_MAX && op->cur < op->max >> 1) { ! op->max >>= 1; ! op->poll = realloc(op->poll, sizeof(*op->poll) * op->max); ! op->toev = realloc(op->toev, sizeof(*op->toev) * op->max); ! } } ! static void ! poll_remove(struct rtsigop *op, struct event *ev) { ! int i; ! for (i = 0; i < op->cur; i++) { ! if (op->toev[i] == ev) { ! poll_free(op, i); ! break; ! } ! } } ! static void ! activate(struct event *ev, int flags) { ! if (!(ev->ev_events & EV_PERSIST)) event_del(ev); ! event_active(ev, flags, 1); } --- 44,123 ---- #define INIT_MAX 16 ! static int poll_add(struct rtsigop *op, struct event *ev) { ! struct pollfd *pfd; ! if (op->poll == NULL) ! return 0; ! if (op->cur == op->max) { ! void *p; ! p = realloc(op->poll, sizeof(*op->poll) * (op->max << 1)); ! if (!p) { ! errno = ENOMEM; ! return -1; ! } ! op->poll = p; ! p = realloc(op->toev, sizeof(*op->toev) * (op->max << 1)); ! if (!p) { ! op->poll = ! realloc(op->poll, sizeof(*op->poll) * op->max); ! errno = ENOMEM; ! return -1; ! } ! op->toev = p; ! op->max <<= 1; ! } ! pfd = &op->poll[op->cur]; ! pfd->fd = ev->ev_fd; ! pfd->events = 0; ! if (ev->ev_events & EV_READ) ! pfd->events |= POLLIN; ! if (ev->ev_events & EV_WRITE) ! pfd->events |= POLLOUT; ! pfd->revents = 0; ! op->toev[op->cur] = ev; ! op->cur++; ! return 0; } ! static void poll_free(struct rtsigop *op, int n) { ! if (op->poll == NULL) ! return; ! op->cur--; ! if (n < op->cur) { ! memcpy(&op->poll[n], &op->poll[op->cur], sizeof(*op->poll)); ! op->toev[n] = op->toev[op->cur]; ! } ! if (op->max > INIT_MAX && op->cur < op->max >> 1) { ! op->max >>= 1; ! op->poll = realloc(op->poll, sizeof(*op->poll) * op->max); ! op->toev = realloc(op->toev, sizeof(*op->toev) * op->max); ! } } ! static void poll_remove(struct rtsigop *op, struct event *ev) { ! int i; ! for (i = 0; i < op->cur; i++) { ! if (op->toev[i] == ev) { ! poll_free(op, i); ! break; ! } ! } } ! static void activate(struct event *ev, int flags) { ! if (!(ev->ev_events & EV_PERSIST)) ! event_del(ev); ! event_active(ev, flags, 1); } *************** *** 127,140 **** struct eventop rtsigops = { ! "rtsig", ! rtsig_init, ! rtsig_add, ! rtsig_del, ! rtsig_recalc, ! rtsig_dispatch }; ! void * ! rtsig_init(void) { struct rtsigop *op; --- 129,141 ---- struct eventop rtsigops = { ! "rtsig", ! rtsig_init, ! rtsig_add, ! rtsig_del, ! rtsig_recalc, ! rtsig_dispatch }; ! void *rtsig_init(void) { struct rtsigop *op; *************** *** 144,148 **** op = malloc(sizeof(*op)); ! if (op == NULL) return (NULL); memset(op, 0, sizeof(*op)); --- 145,150 ---- op = malloc(sizeof(*op)); ! if (op == NULL) ! return (NULL); memset(op, 0, sizeof(*op)); *************** *** 169,176 **** } ! int ! rtsig_add(void *arg, struct event *ev) { ! struct rtsigop *op = (struct rtsigop *) arg; int flags, i; #ifndef HAVE_WORKING_RTSIG --- 171,177 ---- } ! int rtsig_add(void *arg, struct event *ev) { ! struct rtsigop *op = (struct rtsigop *)arg; int flags, i; #ifndef HAVE_WORKING_RTSIG *************** *** 183,190 **** } ! if (!(ev->ev_events & (EV_READ | EV_WRITE))) return 0; #ifndef HAVE_WORKING_RTSIG ! if (fstat(ev->ev_fd, &st) == -1) return -1; if (S_ISFIFO(st.st_mode)) { ev->ev_flags |= EVLIST_X_NORT; --- 184,193 ---- } ! if (!(ev->ev_events & (EV_READ | EV_WRITE))) ! return 0; #ifndef HAVE_WORKING_RTSIG ! if (fstat(ev->ev_fd, &st) == -1) ! return -1; if (S_ISFIFO(st.st_mode)) { ev->ev_flags |= EVLIST_X_NORT; *************** *** 199,203 **** if (!(flags & O_ASYNC)) { if (fcntl(ev->ev_fd, F_SETSIG, SIGRTMIN) == -1 ! || fcntl(ev->ev_fd, F_SETOWN, (int) getpid()) == -1) return (-1); --- 202,206 ---- if (!(flags & O_ASYNC)) { if (fcntl(ev->ev_fd, F_SETSIG, SIGRTMIN) == -1 ! || fcntl(ev->ev_fd, F_SETOWN, (int)getpid()) == -1) return (-1); *************** *** 205,209 **** return (-1); } - #ifdef O_ONESIGFD fcntl(ev->ev_fd, F_SETAUXFL, O_ONESIGFD); --- 208,211 ---- *************** *** 216,220 **** return (0); ! err: i = errno; fcntl(ev->ev_fd, F_SETFL, flags); --- 218,222 ---- return (0); ! err: i = errno; fcntl(ev->ev_fd, F_SETFL, flags); *************** *** 223,230 **** } ! int ! rtsig_del(void *arg, struct event *ev) { ! struct rtsigop *op = (struct rtsigop *) arg; if (ev->ev_events & EV_SIGNAL) { --- 225,231 ---- } ! int rtsig_del(void *arg, struct event *ev) { ! struct rtsigop *op = (struct rtsigop *)arg; if (ev->ev_events & EV_SIGNAL) { *************** *** 251,264 **** } ! int ! rtsig_recalc(void *arg, int max) { ! return (0); } ! int ! rtsig_dispatch(void *arg, struct timeval *tv) { ! struct rtsigop *op = (struct rtsigop *) arg; struct timespec ts; int res, i; --- 252,263 ---- } ! int rtsig_recalc(void *arg, int max) { ! return (0); } ! int rtsig_dispatch(void *arg, struct timeval *tv) { ! struct rtsigop *op = (struct rtsigop *)arg; struct timespec ts; int res, i; *************** *** 295,303 **** if (signum == SIGIO) { #ifndef HAVE_WORKING_RTSIG ! poll_all: #endif free(op->poll); free(op->toev); ! retry_poll: op->cur = 0; op->max = op->total; --- 294,302 ---- if (signum == SIGIO) { #ifndef HAVE_WORKING_RTSIG ! poll_all: #endif free(op->poll); free(op->toev); ! retry_poll: op->cur = 0; op->max = op->total; *************** *** 314,318 **** TAILQ_FOREACH(ev, &eventqueue, ev_next) if (!(ev->ev_flags & EVLIST_X_NORT)) ! poll_add(op, ev); break; --- 313,317 ---- TAILQ_FOREACH(ev, &eventqueue, ev_next) if (!(ev->ev_flags & EVLIST_X_NORT)) ! poll_add(op, ev); break; *************** *** 322,332 **** int flags, i, sigok = 0; ! if (info.si_band <= 0) { /* SI_SIGIO */ flags = EV_READ | EV_WRITE; } else { flags = 0; ! if (info.si_band & POLLIN) flags |= EV_READ; ! if (info.si_band & POLLOUT) flags |= EV_WRITE; ! if (!flags) continue; } --- 321,334 ---- int flags, i, sigok = 0; ! if (info.si_band <= 0) { /* SI_SIGIO */ flags = EV_READ | EV_WRITE; } else { flags = 0; ! if (info.si_band & POLLIN) ! flags |= EV_READ; ! if (info.si_band & POLLOUT) ! flags |= EV_WRITE; ! if (!flags) ! continue; } *************** *** 341,350 **** for (ev = TAILQ_FIRST(&eventqueue); ! flags && ev != TAILQ_END(&eventqueue); ! ev = TAILQ_NEXT(ev, ev_next)) { if (ev->ev_fd == info.si_fd) { if (flags & ev->ev_events) { i = poll_add(op, ev); ! if (i == -1) return -1; flags &= ~ev->ev_events; } --- 343,353 ---- for (ev = TAILQ_FIRST(&eventqueue); ! flags && ev != TAILQ_END(&eventqueue); ! ev = TAILQ_NEXT(ev, ev_next)) { if (ev->ev_fd == info.si_fd) { if (flags & ev->ev_events) { i = poll_add(op, ev); ! if (i == -1) ! return -1; flags &= ~ev->ev_events; } *************** *** 355,359 **** if (!sigok) { flags = fcntl(info.si_fd, F_GETFL); ! if (flags == -1) return -1; fcntl(info.si_fd, F_SETFL, flags & ~O_ASYNC); } --- 358,363 ---- if (!sigok) { flags = fcntl(info.si_fd, F_GETFL); ! if (flags == -1) ! return -1; fcntl(info.si_fd, F_SETFL, flags & ~O_ASYNC); } *************** *** 408,412 **** break; if (op->poll[op->cur].revents) { ! memcpy(&op->poll[i], &op->poll[op->cur], sizeof(*op->poll)); op->toev[i] = op->toev[op->cur]; break; --- 412,417 ---- break; if (op->poll[op->cur].revents) { ! memcpy(&op->poll[i], &op->poll[op->cur], ! sizeof(*op->poll)); op->toev[i] = op->toev[op->cur]; break; Index: epoll.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/epoll.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** epoll.c 26 Feb 2009 12:03:43 -0000 1.2 --- epoll.c 23 Mar 2009 13:35:53 -0000 1.3 *************** *** 78,86 **** } epollop; ! void *epoll_init (void); ! int epoll_add (void *, struct event *); ! int epoll_del (void *, struct event *); ! int epoll_recalc (void *, int); ! int epoll_dispatch (void *, struct timeval *); struct eventop epollops = { --- 78,86 ---- } epollop; ! void *epoll_init(void); ! int epoll_add(void *, struct event *); ! int epoll_del(void *, struct event *); ! int epoll_recalc(void *, int); ! int epoll_dispatch(void *, struct timeval *); struct eventop epollops = { *************** *** 95,100 **** #define NEVENT 32000 ! void * ! epoll_init(void) { int epfd, nfiles = NEVENT; --- 95,99 ---- #define NEVENT 32000 ! void *epoll_init(void) { int epfd, nfiles = NEVENT; *************** *** 107,112 **** memset(&epollop, 0, sizeof(epollop)); ! if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && ! rl.rlim_cur != RLIM_INFINITY) nfiles = rl.rlim_cur; --- 106,110 ---- memset(&epollop, 0, sizeof(epollop)); ! if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_cur != RLIM_INFINITY) nfiles = rl.rlim_cur; *************** *** 138,143 **** } ! int ! epoll_recalc(void *arg, int max) { struct epollop *epollop = arg; --- 136,140 ---- } ! int epoll_recalc(void *arg, int max) { struct epollop *epollop = arg; *************** *** 158,162 **** epollop->fds = fds; memset(fds + epollop->nfds, 0, ! (nfds - epollop->nfds) * sizeof(struct evepoll)); epollop->nfds = nfds; } --- 155,159 ---- epollop->fds = fds; memset(fds + epollop->nfds, 0, ! (nfds - epollop->nfds) * sizeof(struct evepoll)); epollop->nfds = nfds; } *************** *** 165,170 **** } ! int ! epoll_dispatch(void *arg, struct timeval *tv) { struct epollop *epollop = arg; --- 162,166 ---- } ! int epoll_dispatch(void *arg, struct timeval *tv) { struct epollop *epollop = arg; *************** *** 201,209 **** evep = (struct evepoll *)events[i].data.ptr; ! ! if (what & EPOLLHUP) ! what |= EPOLLIN | EPOLLOUT; ! else if (what & EPOLLERR) ! what |= EPOLLIN | EPOLLOUT; if (what & EPOLLIN) { --- 197,205 ---- evep = (struct evepoll *)events[i].data.ptr; ! ! if (what & EPOLLHUP) ! what |= EPOLLIN | EPOLLOUT; ! else if (what & EPOLLERR) ! what |= EPOLLIN | EPOLLOUT; if (what & EPOLLIN) { *************** *** 235,241 **** } ! ! int ! epoll_add(void *arg, struct event *ev) { struct epollop *epollop = arg; --- 231,235 ---- } ! int epoll_add(void *arg, struct event *ev) { struct epollop *epollop = arg; *************** *** 273,277 **** epev.events = events; if (epoll_ctl(epollop->epfd, op, ev->ev_fd, &epev) == -1) ! return (-1); /* Update events responsible */ --- 267,271 ---- epev.events = events; if (epoll_ctl(epollop->epfd, op, ev->ev_fd, &epev) == -1) ! return (-1); /* Update events responsible */ *************** *** 284,289 **** } ! int ! epoll_del(void *arg, struct event *ev) { struct epollop *epollop = arg; --- 278,282 ---- } ! int epoll_del(void *arg, struct event *ev) { struct epollop *epollop = arg; *************** *** 309,313 **** events |= EPOLLOUT; ! if ((events & (EPOLLIN|EPOLLOUT)) != (EPOLLIN|EPOLLOUT)) { if ((events & EPOLLIN) && evep->evwrite != NULL) { needwritedelete = 0; --- 302,306 ---- events |= EPOLLOUT; ! if ((events & (EPOLLIN | EPOLLOUT)) != (EPOLLIN | EPOLLOUT)) { if ((events & EPOLLIN) && evep->evwrite != NULL) { needwritedelete = 0; Index: buffer.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/buffer.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** buffer.c 26 Feb 2009 12:16:08 -0000 1.3 --- buffer.c 23 Mar 2009 13:35:53 -0000 1.4 *************** *** 50,55 **** #include "event.h" ! struct evbuffer * ! evbuffer_new(void) { struct evbuffer *buffer; --- 50,54 ---- #include "event.h" ! struct evbuffer *evbuffer_new(void) { struct evbuffer *buffer; *************** *** 60,65 **** } ! void ! evbuffer_free(struct evbuffer *buffer) { if (buffer->buffer != NULL) --- 59,63 ---- } ! void evbuffer_free(struct evbuffer *buffer) { if (buffer->buffer != NULL) *************** *** 73,78 **** */ ! int ! evbuffer_add_buffer(struct evbuffer *outbuf, struct evbuffer *inbuf) { int res; --- 71,75 ---- */ ! int evbuffer_add_buffer(struct evbuffer *outbuf, struct evbuffer *inbuf) { int res; *************** *** 84,89 **** } ! int ! evbuffer_add_printf(struct evbuffer *buf, char *fmt, ...) { int res = -1; --- 81,85 ---- } ! int evbuffer_add_printf(struct evbuffer *buf, char *fmt, ...) { int res = -1; *************** *** 101,105 **** free(msg); ! end: va_end(ap); --- 97,101 ---- free(msg); ! end: va_end(ap); *************** *** 107,112 **** } ! int ! evbuffer_add(struct evbuffer *buf, u_char *data, size_t datlen) { size_t need = buf->off + datlen; --- 103,107 ---- } ! int evbuffer_add(struct evbuffer *buf, u_char * data, size_t datlen) { size_t need = buf->off + datlen; *************** *** 133,143 **** if (datlen && buf->cb != NULL) ! (*buf->cb)(buf, oldoff, buf->off, buf->cbarg); return (0); } ! void ! evbuffer_drain(struct evbuffer *buf, size_t len) { size_t oldoff = buf->off; --- 128,137 ---- if (datlen && buf->cb != NULL) ! (*buf->cb) (buf, oldoff, buf->off, buf->cbarg); return (0); } ! void evbuffer_drain(struct evbuffer *buf, size_t len) { size_t oldoff = buf->off; *************** *** 151,163 **** buf->off -= len; ! done: /* Tell someone about changes in this buffer */ if (buf->off != oldoff && buf->cb != NULL) ! (*buf->cb)(buf, oldoff, buf->off, buf->cbarg); } ! int ! evbuffer_read(struct evbuffer *buffer, int fd, int howmuch) { u_char inbuf[4096]; --- 145,156 ---- buf->off -= len; ! done: /* Tell someone about changes in this buffer */ if (buf->off != oldoff && buf->cb != NULL) ! (*buf->cb) (buf, oldoff, buf->off, buf->cbarg); } ! int evbuffer_read(struct evbuffer *buffer, int fd, int howmuch) { u_char inbuf[4096]; *************** *** 178,183 **** } ! int ! evbuffer_write(struct evbuffer *buffer, int fd) { int n; --- 171,175 ---- } ! int evbuffer_write(struct evbuffer *buffer, int fd) { int n; *************** *** 194,199 **** } ! u_char * ! evbuffer_find(struct evbuffer *buffer, u_char *what, size_t len) { size_t remain = buffer->off; --- 186,190 ---- } ! u_char *evbuffer_find(struct evbuffer * buffer, u_char * what, size_t len) { size_t remain = buffer->off; *************** *** 206,210 **** search = p + 1; ! remain = buffer->off - (size_t)(search - buffer->buffer); } --- 197,201 ---- search = p + 1; ! remain = buffer->off - (size_t) (search - buffer->buffer); } *************** *** 213,218 **** void evbuffer_setcb(struct evbuffer *buffer, ! void (*cb)(struct evbuffer *, size_t, size_t, void *), ! void *cbarg) { buffer->cb = cb; --- 204,209 ---- void evbuffer_setcb(struct evbuffer *buffer, ! void (*cb) (struct evbuffer *, size_t, size_t, void *), ! void *cbarg) { buffer->cb = cb; Index: kqueue.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/kqueue.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** kqueue.c 26 Feb 2009 12:16:08 -0000 1.3 --- kqueue.c 23 Mar 2009 13:35:53 -0000 1.4 *************** *** 81,90 **** } kqueueop; ! void *kq_init (void); ! int kq_add (void *, struct event *); ! int kq_del (void *, struct event *); ! int kq_recalc (void *, int); ! int kq_dispatch (void *, struct timeval *); ! int kq_insert (struct kqop *, struct kevent *); const struct eventop kqops = { --- 81,90 ---- } kqueueop; ! void *kq_init(void); ! int kq_add(void *, struct event *); ! int kq_del(void *, struct event *); ! int kq_recalc(void *, int); ! int kq_dispatch(void *, struct timeval *); ! int kq_insert(struct kqop *, struct kevent *); const struct eventop kqops = { *************** *** 97,102 **** }; ! void * ! kq_init(void) { int kq; --- 97,101 ---- }; ! void *kq_init(void) { int kq; *************** *** 123,127 **** kqueueop.events = malloc(NEVENT * sizeof(struct kevent)); if (kqueueop.events == NULL) { ! free (kqueueop.changes); return (NULL); } --- 122,126 ---- kqueueop.events = malloc(NEVENT * sizeof(struct kevent)); if (kqueueop.events == NULL) { ! free(kqueueop.changes); return (NULL); } *************** *** 131,142 **** } ! int ! kq_recalc(void *arg, int max) { return (0); } ! int ! kq_insert(struct kqop *kqop, struct kevent *kev) { int nevents = kqop->nevents; --- 130,139 ---- } ! int kq_recalc(void *arg, int max) { return (0); } ! int kq_insert(struct kqop *kqop, struct kevent *kev) { int nevents = kqop->nevents; *************** *** 182,193 **** } ! static void ! kq_sighandler(int sig) { /* Do nothing here */ } ! int ! kq_dispatch(void *arg, struct timeval *tv) { struct kqop *kqop = arg; --- 179,188 ---- } ! static void kq_sighandler(int sig) { /* Do nothing here */ } ! int kq_dispatch(void *arg, struct timeval *tv) { struct kqop *kqop = arg; *************** *** 201,205 **** res = kevent(kqop->kq, changes, kqop->nchanges, ! events, kqop->nevents, &ts); kqop->nchanges = 0; if (res == -1) { --- 196,200 ---- res = kevent(kqop->kq, changes, kqop->nchanges, ! events, kqop->nevents, &ts); kqop->nchanges = 0; if (res == -1) { *************** *** 228,233 **** * the data field is set to ENOENT. */ ! if (events[i].data == EBADF || ! events[i].data == ENOENT) continue; return (-1); --- 223,227 ---- * the data field is set to ENOENT. */ ! if (events[i].data == EBADF || events[i].data == ENOENT) continue; return (-1); *************** *** 253,257 **** event_active(ev, which, ! ev->ev_events & EV_SIGNAL ? events[i].data : 1); } --- 247,251 ---- event_active(ev, which, ! ev->ev_events & EV_SIGNAL ? events[i].data : 1); } *************** *** 259,265 **** } ! ! int ! kq_add(void *arg, struct event *ev) { struct kqop *kqop = arg; --- 253,257 ---- } ! int kq_add(void *arg, struct event *ev) { struct kqop *kqop = arg; *************** *** 269,273 **** int nsignal = EVENT_SIGNAL(ev); ! memset(&kev, 0, sizeof(kev)); kev.ident = nsignal; kev.filter = EVFILT_SIGNAL; --- 261,265 ---- int nsignal = EVENT_SIGNAL(ev); ! memset(&kev, 0, sizeof(kev)); kev.ident = nsignal; kev.filter = EVFILT_SIGNAL; *************** *** 276,280 **** kev.flags |= EV_ONESHOT; kev.udata = INTPTR(ev); ! if (kq_insert(kqop, &kev) == -1) return (-1); --- 268,272 ---- kev.flags |= EV_ONESHOT; kev.udata = INTPTR(ev); ! if (kq_insert(kqop, &kev) == -1) return (-1); *************** *** 288,292 **** if (ev->ev_events & EV_READ) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_READ; --- 280,284 ---- if (ev->ev_events & EV_READ) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_READ; *************** *** 299,303 **** kev.flags |= EV_ONESHOT; kev.udata = INTPTR(ev); ! if (kq_insert(kqop, &kev) == -1) return (-1); --- 291,295 ---- kev.flags |= EV_ONESHOT; kev.udata = INTPTR(ev); ! if (kq_insert(kqop, &kev) == -1) return (-1); *************** *** 307,311 **** if (ev->ev_events & EV_WRITE) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_WRITE; --- 299,303 ---- if (ev->ev_events & EV_WRITE) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_WRITE; *************** *** 314,318 **** kev.flags |= EV_ONESHOT; kev.udata = INTPTR(ev); ! if (kq_insert(kqop, &kev) == -1) return (-1); --- 306,310 ---- kev.flags |= EV_ONESHOT; kev.udata = INTPTR(ev); ! if (kq_insert(kqop, &kev) == -1) return (-1); *************** *** 324,329 **** } ! int ! kq_del(void *arg, struct event *ev) { struct kqop *kqop = arg; --- 316,320 ---- } ! int kq_del(void *arg, struct event *ev) { struct kqop *kqop = arg; *************** *** 336,344 **** int nsignal = EVENT_SIGNAL(ev); ! memset(&kev, 0, sizeof(kev)); kev.ident = (int)signal; kev.filter = EVFILT_SIGNAL; kev.flags = EV_DELETE; ! if (kq_insert(kqop, &kev) == -1) return (-1); --- 327,335 ---- int nsignal = EVENT_SIGNAL(ev); ! memset(&kev, 0, sizeof(kev)); kev.ident = (int)signal; kev.filter = EVFILT_SIGNAL; kev.flags = EV_DELETE; ! if (kq_insert(kqop, &kev) == -1) return (-1); *************** *** 352,360 **** if (ev->ev_events & EV_READ) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_READ; kev.flags = EV_DELETE; ! if (kq_insert(kqop, &kev) == -1) return (-1); --- 343,351 ---- if (ev->ev_events & EV_READ) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_READ; kev.flags = EV_DELETE; ! if (kq_insert(kqop, &kev) == -1) return (-1); *************** *** 364,372 **** if (ev->ev_events & EV_WRITE) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_WRITE; kev.flags = EV_DELETE; ! if (kq_insert(kqop, &kev) == -1) return (-1); --- 355,363 ---- if (ev->ev_events & EV_WRITE) { ! memset(&kev, 0, sizeof(kev)); kev.ident = ev->ev_fd; kev.filter = EVFILT_WRITE; kev.flags = EV_DELETE; ! if (kq_insert(kqop, &kev) == -1) return (-1); Index: evbuffer.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/evbuffer.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** evbuffer.c 26 Feb 2009 12:03:43 -0000 1.2 --- evbuffer.c 23 Mar 2009 13:35:53 -0000 1.3 *************** *** 47,52 **** #include "event.h" ! static int ! bufferevent_add(struct event *ev, int timeout) { struct timeval tv, *ptv = NULL; --- 47,51 ---- #include "event.h" ! static int bufferevent_add(struct event *ev, int timeout) { struct timeval tv, *ptv = NULL; *************** *** 68,72 **** void bufferevent_read_pressure_cb(struct evbuffer *buf, size_t old, size_t now, ! void *arg) { struct bufferevent *bufev = arg; /* --- 67,72 ---- void bufferevent_read_pressure_cb(struct evbuffer *buf, size_t old, size_t now, ! void *arg) ! { struct bufferevent *bufev = arg; /* *************** *** 82,87 **** } ! static void ! bufferevent_readcb(int fd, short event, void *arg) { struct bufferevent *bufev = arg; --- 82,86 ---- } ! static void bufferevent_readcb(int fd, short event, void *arg) { struct bufferevent *bufev = arg; *************** *** 125,141 **** /* Invoke the user callback - must always be called last */ ! (*bufev->readcb)(bufev, bufev->cbarg); return; ! reschedule: bufferevent_add(&bufev->ev_read, bufev->timeout_read); return; ! error: ! (*bufev->errorcb)(bufev, what, bufev->cbarg); } ! static void ! bufferevent_writecb(int fd, short event, void *arg) { struct bufferevent *bufev = arg; --- 124,139 ---- /* Invoke the user callback - must always be called last */ ! (*bufev->readcb) (bufev, bufev->cbarg); return; ! reschedule: bufferevent_add(&bufev->ev_read, bufev->timeout_read); return; ! error: ! (*bufev->errorcb) (bufev, what, bufev->cbarg); } ! static void bufferevent_writecb(int fd, short event, void *arg) { struct bufferevent *bufev = arg; *************** *** 149,164 **** if (EVBUFFER_LENGTH(bufev->output)) { ! res = evbuffer_write(bufev->output, fd); ! if (res == -1) { ! if (errno == EAGAIN || errno == EINTR) ! goto reschedule; ! /* error case */ ! what |= EVBUFFER_ERROR; ! } else if (res == 0) { ! /* eof case */ ! what |= EVBUFFER_EOF; ! } ! if (res <= 0) ! goto error; } --- 147,162 ---- if (EVBUFFER_LENGTH(bufev->output)) { ! res = evbuffer_write(bufev->output, fd); ! if (res == -1) { ! if (errno == EAGAIN || errno == EINTR) ! goto reschedule; ! /* error case */ ! what |= EVBUFFER_ERROR; ! } else if (res == 0) { ! /* eof case */ ! what |= EVBUFFER_EOF; ! } ! if (res <= 0) ! goto error; } *************** *** 171,185 **** */ if (EVBUFFER_LENGTH(bufev->output) <= bufev->wm_write.low) ! (*bufev->writecb)(bufev, bufev->cbarg); return; ! reschedule: if (EVBUFFER_LENGTH(bufev->output) != 0) bufferevent_add(&bufev->ev_write, bufev->timeout_write); return; ! error: ! (*bufev->errorcb)(bufev, what, bufev->cbarg); } --- 169,183 ---- */ if (EVBUFFER_LENGTH(bufev->output) <= bufev->wm_write.low) ! (*bufev->writecb) (bufev, bufev->cbarg); return; ! reschedule: if (EVBUFFER_LENGTH(bufev->output) != 0) bufferevent_add(&bufev->ev_write, bufev->timeout_write); return; ! error: ! (*bufev->errorcb) (bufev, what, bufev->cbarg); } *************** *** 192,198 **** */ ! struct bufferevent * ! bufferevent_new(int fd, evbuffercb readcb, evbuffercb writecb, ! everrorcb errorcb, void *cbarg) { struct bufferevent *bufev; --- 190,196 ---- */ ! struct bufferevent *bufferevent_new(int fd, evbuffercb readcb, ! evbuffercb writecb, everrorcb errorcb, ! void *cbarg) { struct bufferevent *bufev; *************** *** 226,231 **** } ! void ! bufferevent_free(struct bufferevent *bufev) { event_del(&bufev->ev_read); --- 224,228 ---- } ! void bufferevent_free(struct bufferevent *bufev) { event_del(&bufev->ev_read); *************** *** 243,248 **** */ ! int ! bufferevent_write(struct bufferevent *bufev, void *data, size_t size) { int res; --- 240,244 ---- */ ! int bufferevent_write(struct bufferevent *bufev, void *data, size_t size) { int res; *************** *** 260,265 **** } ! int ! bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf) { int res; --- 256,260 ---- } ! int bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf) { int res; *************** *** 272,277 **** } ! size_t ! bufferevent_read(struct bufferevent *bufev, void *data, size_t size) { struct evbuffer *buf = bufev->input; --- 267,271 ---- } ! size_t bufferevent_read(struct bufferevent * bufev, void *data, size_t size) { struct evbuffer *buf = bufev->input; *************** *** 289,294 **** } ! int ! bufferevent_enable(struct bufferevent *bufev, short event) { if (event & EV_READ) { --- 283,287 ---- } ! int bufferevent_enable(struct bufferevent *bufev, short event) { if (event & EV_READ) { *************** *** 297,301 **** } if (event & EV_WRITE) { ! if (bufferevent_add(&bufev->ev_write, bufev->timeout_write) == -1) return (-1); } --- 290,295 ---- } if (event & EV_WRITE) { ! if (bufferevent_add(&bufev->ev_write, bufev->timeout_write) == ! -1) return (-1); } *************** *** 305,310 **** } ! int ! bufferevent_disable(struct bufferevent *bufev, short event) { if (event & EV_READ) { --- 299,303 ---- } ! int bufferevent_disable(struct bufferevent *bufev, short event) { if (event & EV_READ) { *************** *** 327,331 **** void bufferevent_settimeout(struct bufferevent *bufev, ! int timeout_read, int timeout_write) { bufev->timeout_read = timeout_read; bufev->timeout_write = timeout_write; --- 320,325 ---- void bufferevent_settimeout(struct bufferevent *bufev, ! int timeout_read, int timeout_write) ! { bufev->timeout_read = timeout_read; bufev->timeout_write = timeout_write; *************** *** 338,342 **** void bufferevent_setwatermark(struct bufferevent *bufev, short events, ! size_t lowmark, size_t highmark) { if (events & EV_READ) { --- 332,336 ---- void bufferevent_setwatermark(struct bufferevent *bufev, short events, ! size_t lowmark, size_t highmark) { if (events & EV_READ) { *************** *** 352,355 **** /* If the watermarks changed then see if we should call read again */ bufferevent_read_pressure_cb(bufev->input, ! 0, EVBUFFER_LENGTH(bufev->input), bufev); } --- 346,349 ---- /* If the watermarks changed then see if we should call read again */ bufferevent_read_pressure_cb(bufev->input, ! 0, EVBUFFER_LENGTH(bufev->input), bufev); } Index: signal.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/signal.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** signal.c 26 Feb 2009 12:16:08 -0000 1.2 --- signal.c 23 Mar 2009 13:35:53 -0000 1.3 *************** *** 64,79 **** int evsignal_deliver(sigset_t *); ! void ! evsignal_init(sigset_t *evsigmask) { sigemptyset(evsigmask); } ! int ! evsignal_add(sigset_t *evsigmask, struct event *ev) { int evsignal; ! if (ev->ev_events & (EV_READ|EV_WRITE)) errx(1, "%s: EV_SIGNAL incompatible use", __func__); evsignal = EVENT_SIGNAL(ev); --- 64,77 ---- int evsignal_deliver(sigset_t *); ! void evsignal_init(sigset_t * evsigmask) { sigemptyset(evsigmask); } ! int evsignal_add(sigset_t * evsigmask, struct event *ev) { int evsignal; ! if (ev->ev_events & (EV_READ | EV_WRITE)) errx(1, "%s: EV_SIGNAL incompatible use", __func__); evsignal = EVENT_SIGNAL(ev); *************** *** 87,92 **** */ ! int ! evsignal_del(sigset_t *evsigmask, struct event *ev) { int evsignal; --- 85,89 ---- */ ! int evsignal_del(sigset_t * evsigmask, struct event *ev) { int evsignal; *************** *** 96,104 **** needrecalc = 1; ! return (sigaction(EVENT_SIGNAL(ev),(struct sigaction *)SIG_DFL, NULL)); } ! static void ! evsignal_handler(int sig) { evsigcaught[sig]++; --- 93,100 ---- needrecalc = 1; ! return (sigaction(EVENT_SIGNAL(ev), (struct sigaction *)SIG_DFL, NULL)); } ! static void evsignal_handler(int sig) { evsigcaught[sig]++; *************** *** 106,111 **** } ! int ! evsignal_recalc(sigset_t *evsigmask) { struct sigaction sa; --- 102,106 ---- } ! int evsignal_recalc(sigset_t * evsigmask) { struct sigaction sa; *************** *** 132,137 **** } ! int ! evsignal_deliver(sigset_t *evsigmask) { if (TAILQ_FIRST(&signalqueue) == NULL) --- 127,131 ---- } ! int evsignal_deliver(sigset_t * evsigmask) { if (TAILQ_FIRST(&signalqueue) == NULL) *************** *** 142,147 **** } ! void ! evsignal_process(void) { struct event *ev; --- 136,140 ---- } ! void evsignal_process(void) { struct event *ev; *************** *** 160,162 **** evsignal_caught = 0; } - --- 153,154 ---- Index: event.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/event.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** event.c 26 Feb 2009 12:16:08 -0000 1.3 --- event.c 23 Mar 2009 13:35:53 -0000 1.4 *************** *** 108,121 **** /* Handle signals - This is a deprecated interface */ ! int (*event_sigcb)(void); /* Signal callback when gotsig is set */ int event_gotsig; /* Set in signal handler */ int event_gotterm; /* Set to terminate loop */ /* Prototypes */ ! void event_queue_insert(struct event *, int); ! void event_queue_remove(struct event *, int); ! int event_haveevents(void); ! static void event_process_active(void); static RB_HEAD(event_tree, event) timetree; --- 108,121 ---- /* Handle signals - This is a deprecated interface */ ! int (*event_sigcb) (void); /* Signal callback when gotsig is set */ int event_gotsig; /* Set in signal handler */ int event_gotterm; /* Set to terminate loop */ /* Prototypes */ ! void event_queue_insert(struct event *, int); ! void event_queue_remove(struct event *, int); ! int event_haveevents(void); ! static void event_process_active(void); static RB_HEAD(event_tree, event) timetree; *************** *** 125,130 **** static struct timeval event_tv; ! static int ! compare(struct event *a, struct event *b) { if (timercmp(&a->ev_timeout, &b->ev_timeout, <)) --- 125,129 ---- static struct timeval event_tv; ! static int compare(struct event *a, struct event *b) { if (timercmp(&a->ev_timeout, &b->ev_timeout, <)) *************** *** 143,149 **** RB_GENERATE(event_tree, event, ev_timeout_node, compare); ! ! void ! event_init(void) { int i; --- 142,146 ---- RB_GENERATE(event_tree, event, ev_timeout_node, compare); ! void event_init(void) { int i; *************** *** 177,197 **** } ! int ! event_haveevents(void) { return (RB_ROOT(&timetree) || TAILQ_FIRST(&eventqueue) || ! TAILQ_FIRST(&signalqueue) || TAILQ_FIRST(&activequeue)); } ! static void ! event_process_active(void) { struct event *ev; short ncalls; ! for (ev = TAILQ_FIRST(&activequeue); ev; ! ev = TAILQ_FIRST(&activequeue)) { event_queue_remove(ev, EVLIST_ACTIVE); ! /* Allows deletes to work */ ncalls = ev->ev_ncalls; --- 174,191 ---- } ! int event_haveevents(void) { return (RB_ROOT(&timetree) || TAILQ_FIRST(&eventqueue) || ! TAILQ_FIRST(&signalqueue) || TAILQ_FIRST(&activequeue)); } ! static void event_process_active(void) { struct event *ev; short ncalls; ! for (ev = TAILQ_FIRST(&activequeue); ev; ev = TAILQ_FIRST(&activequeue)) { event_queue_remove(ev, EVLIST_ACTIVE); ! /* Allows deletes to work */ ncalls = ev->ev_ncalls; *************** *** 200,204 **** ncalls--; ev->ev_ncalls = ncalls; ! (*ev->ev_callback)((int)ev->ev_fd, ev->ev_res, ev->ev_arg); } } --- 194,199 ---- ncalls--; ev->ev_ncalls = ncalls; ! (*ev->ev_callback) ((int)ev->ev_fd, ev->ev_res, ! ev->ev_arg); } } *************** *** 209,232 **** */ ! int ! event_dispatch(void) { return (event_loop(0)); } ! static void ! event_loopexit_cb(int fd, short what, void *arg) { event_gotterm = 1; } ! int ! event_loopexit(struct timeval *tv) { return (event_once(-1, EV_TIMEOUT, event_loopexit_cb, NULL, tv)); } ! int ! event_loop(int flags) { struct timeval tv; --- 204,223 ---- */ ! int event_dispatch(void) { return (event_loop(0)); } ! static void event_loopexit_cb(int fd, short what, void *arg) { event_gotterm = 1; } ! int event_loopexit(struct timeval *tv) { return (event_once(-1, EV_TIMEOUT, event_loopexit_cb, NULL, tv)); } ! int event_loop(int flags) { struct timeval tv; *************** *** 248,252 **** event_gotsig = 0; if (event_sigcb) { ! res = (*event_sigcb)(); if (res == -1) { errno = EINTR; --- 239,243 ---- event_gotsig = 0; if (event_sigcb) { ! res = (*event_sigcb) (); if (res == -1) { errno = EINTR; *************** *** 261,266 **** struct timeval off; LOG_DBG((LOG_MISC, 10, ! "%s: time is running backwards, corrected", ! __func__)); timersub(&event_tv, &tv, &off); --- 252,257 ---- struct timeval off; LOG_DBG((LOG_MISC, 10, ! "%s: time is running backwards, corrected", ! __func__)); timersub(&event_tv, &tv, &off); *************** *** 273,277 **** else timerclear(&tv); ! /* If we have no events, we just exit */ if (!event_haveevents()) --- 264,268 ---- else timerclear(&tv); ! /* If we have no events, we just exit */ if (!event_haveevents()) *************** *** 304,308 **** struct event ev; ! void (*cb)(int, short, void *); void *arg; }; --- 295,299 ---- struct event ev; ! void (*cb) (int, short, void *); void *arg; }; *************** *** 310,319 **** /* One-time callback, it deletes itself */ ! static void ! event_once_cb(int fd, short events, void *arg) { struct event_once *eonce = arg; ! (*eonce->cb)(fd, events, eonce->arg); free(eonce); } --- 301,309 ---- /* One-time callback, it deletes itself */ ! static void event_once_cb(int fd, short events, void *arg) { struct event_once *eonce = arg; ! (*eonce->cb) (fd, events, eonce->arg); free(eonce); } *************** *** 323,327 **** int event_once(int fd, short events, ! void (*callback)(int, short, void *), void *arg, struct timeval *tv) { struct event_once *eonce; --- 313,317 ---- int event_once(int fd, short events, ! void (*callback) (int, short, void *), void *arg, struct timeval *tv) { struct event_once *eonce; *************** *** 345,350 **** evtimer_set(&eonce->ev, event_once_cb, eonce); ! } else if (events & (EV_READ|EV_WRITE)) { ! events &= EV_READ|EV_WRITE; event_set(&eonce->ev, fd, events, event_once_cb, eonce); --- 335,340 ---- evtimer_set(&eonce->ev, event_once_cb, eonce); ! } else if (events & (EV_READ | EV_WRITE)) { ! events &= EV_READ | EV_WRITE; event_set(&eonce->ev, fd, events, event_once_cb, eonce); *************** *** 361,370 **** void event_set(struct event *ev, int fd, short events, ! void (*callback)(int, short, void *), void *arg) { ev->ev_callback = callback; ev->ev_arg = arg; #ifdef WIN32 ! ev->ev_fd = (HANDLE)fd; ev->overlap.hEvent = ev; #else --- 351,360 ---- void event_set(struct event *ev, int fd, short events, ! void (*callback) (int, short, void *), void *arg) { ev->ev_callback = callback; ev->ev_arg = arg; #ifdef WIN32 ! ev->ev_fd = (HANDLE) fd; ev->overlap.hEvent = ev; #else *************** *** 381,391 **** */ ! int ! event_pending(struct event *ev, short event, struct timeval *tv) { int flags = 0; if (ev->ev_flags & EVLIST_INSERTED) ! flags |= (ev->ev_events & (EV_READ|EV_WRITE)); if (ev->ev_flags & EVLIST_ACTIVE) flags |= ev->ev_res; --- 371,380 ---- */ ! int event_pending(struct event *ev, short event, struct timeval *tv) { int flags = 0; if (ev->ev_flags & EVLIST_INSERTED) ! flags |= (ev->ev_events & (EV_READ | EV_WRITE)); if (ev->ev_flags & EVLIST_ACTIVE) flags |= ev->ev_res; *************** *** 395,399 **** flags |= EV_SIGNAL; ! event &= (EV_TIMEOUT|EV_READ|EV_WRITE|EV_SIGNAL); /* See if there is a timeout that we should report */ --- 384,388 ---- flags |= EV_SIGNAL; ! event &= (EV_TIMEOUT | EV_READ | EV_WRITE | EV_SIGNAL); /* See if there is a timeout that we should report */ *************** *** 404,409 **** } ! int ! event_add(struct event *ev, struct timeval *tv) { LOG_DBG((LOG_MISC, 55, --- 393,397 ---- } ! int event_add(struct event *ev, struct timeval *tv) { LOG_DBG((LOG_MISC, 55, *************** *** 412,417 **** ev->ev_events & EV_READ ? "EV_READ " : " ", ev->ev_events & EV_WRITE ? "EV_WRITE " : " ", ! tv ? "EV_TIMEOUT " : " ", ! ev->ev_callback)); assert(!(ev->ev_flags & ~EVLIST_ALL)); --- 400,404 ---- ev->ev_events & EV_READ ? "EV_READ " : " ", ev->ev_events & EV_WRITE ? "EV_WRITE " : " ", ! tv ? "EV_TIMEOUT " : " ", ev->ev_callback)); assert(!(ev->ev_flags & ~EVLIST_ALL)); *************** *** 426,431 **** * this timeout before the callback can be executed * removes it from the active list. */ ! if ((ev->ev_flags & EVLIST_ACTIVE) && ! (ev->ev_res & EV_TIMEOUT)) { /* See if we are just active executing this * event in a loop --- 413,417 ---- * this timeout before the callback can be executed * removes it from the active list. */ ! if ((ev->ev_flags & EVLIST_ACTIVE) && (ev->ev_res & EV_TIMEOUT)) { /* See if we are just active executing this * event in a loop *************** *** 435,439 **** *ev->ev_pncalls = 0; } ! event_queue_remove(ev, EVLIST_ACTIVE); } --- 421,425 ---- *ev->ev_pncalls = 0; } ! event_queue_remove(ev, EVLIST_ACTIVE); } *************** *** 449,459 **** } ! if ((ev->ev_events & (EV_READ|EV_WRITE)) && ! !(ev->ev_flags & (EVLIST_INSERTED|EVLIST_ACTIVE))) { event_queue_insert(ev, EVLIST_INSERTED); return (evsel->add(evbase, ev)); } else if ((ev->ev_events & EV_SIGNAL) && ! !(ev->ev_flags & EVLIST_SIGNAL)) { event_queue_insert(ev, EVLIST_SIGNAL); --- 435,445 ---- } ! if ((ev->ev_events & (EV_READ | EV_WRITE)) && ! !(ev->ev_flags & (EVLIST_INSERTED | EVLIST_ACTIVE))) { event_queue_insert(ev, EVLIST_INSERTED); return (evsel->add(evbase, ev)); } else if ((ev->ev_events & EV_SIGNAL) && ! !(ev->ev_flags & EVLIST_SIGNAL)) { event_queue_insert(ev, EVLIST_SIGNAL); *************** *** 464,469 **** } ! int ! event_del(struct event *ev) { LOG_DBG((LOG_MISC, 80, "event_del: %p, callback %p", --- 450,454 ---- } ! int event_del(struct event *ev) { LOG_DBG((LOG_MISC, 80, "event_del: %p, callback %p", *************** *** 495,500 **** } ! void ! event_active(struct event *ev, int res, short ncalls) { /* We get different kinds of events, add them together */ --- 480,484 ---- } ! void event_active(struct event *ev, int res, short ncalls) { /* We get different kinds of events, add them together */ *************** *** 510,515 **** } ! int ! timeout_next(struct timeval *tv) { struct timeval dflt = TIMEOUT_DEFAULT; --- 494,498 ---- } ! int timeout_next(struct timeval *tv) { struct timeval dflt = TIMEOUT_DEFAULT; *************** *** 540,545 **** } ! void ! timeout_correct(struct timeval *off) { struct event *ev; --- 523,527 ---- } ! void timeout_correct(struct timeval *off) { struct event *ev; *************** *** 549,557 **** */ RB_FOREACH(ev, event_tree, &timetree) ! timersub(&ev->ev_timeout, off, &ev->ev_timeout); } ! void ! timeout_process(void) { struct timeval now; --- 531,538 ---- */ RB_FOREACH(ev, event_tree, &timetree) ! timersub(&ev->ev_timeout, off, &ev->ev_timeout); } ! void timeout_process(void) { struct timeval now; *************** *** 576,585 **** } ! void ! event_queue_remove(struct event *ev, int queue) { if (!(ev->ev_flags & queue)) errx(1, "%s: %p(fd %d) not on queue %x", __func__, ! ev, ev->ev_fd, queue); ev->ev_flags &= ~queue; --- 557,565 ---- } ! void event_queue_remove(struct event *ev, int queue) { if (!(ev->ev_flags & queue)) errx(1, "%s: %p(fd %d) not on queue %x", __func__, ! ev, ev->ev_fd, queue); ev->ev_flags &= ~queue; *************** *** 602,611 **** } ! void ! event_queue_insert(struct event *ev, int queue) { if (ev->ev_flags & queue) errx(1, "%s: %p(fd %d) already on queue %x", __func__, ! ev, ev->ev_fd, queue); ev->ev_flags |= queue; --- 582,590 ---- } ! void event_queue_insert(struct event *ev, int queue) { if (ev->ev_flags & queue) errx(1, "%s: %p(fd %d) already on queue %x", __func__, ! ev, ev->ev_fd, queue); ev->ev_flags |= queue; *************** *** 617,625 **** TAILQ_INSERT_TAIL(&signalqueue, ev, ev_signal_next); break; ! case EVLIST_TIMEOUT: { ! struct event *tmp = RB_INSERT(event_tree, &timetree, ev); ! assert(tmp == NULL); ! break; ! } case EVLIST_INSERTED: TAILQ_INSERT_TAIL(&eventqueue, ev, ev_next); --- 596,605 ---- TAILQ_INSERT_TAIL(&signalqueue, ev, ev_signal_next); break; ! case EVLIST_TIMEOUT:{ ! struct event *tmp = ! RB_INSERT(event_tree, &timetree, ev); ! assert(tmp == NULL); ! break; ! } case EVLIST_INSERTED: TAILQ_INSERT_TAIL(&eventqueue, ev, ev_next); Index: install-sh =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/install-sh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** install-sh 2 Nov 2004 22:02:29 -0000 1.1 --- install-sh 23 Mar 2009 13:35:53 -0000 1.2 *************** *** 113,117 **** # Waiting for this to be detected by the "$instcmd $src $dsttmp" command ! # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. --- 113,117 ---- # Waiting for this to be detected by the "$instcmd $src $dsttmp" command ! # might cause directories to be created, which would be especially bad$ # if $src (and thus $dsttmp) contains '*'. *************** *** 190,198 **** # If we're going to rename the final executable, determine the name now. ! if [ x"$transformarg" = x ] then dstfile=`basename $dst` else ! dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi --- 190,198 ---- # If we're going to rename the final executable, determine the name now. ! if [ x"$transformarg" = x ]$ then dstfile=`basename $dst` else ! dstfile=`basename $dst $transformbasename |$ sed $transformarg`$transformbasename fi *************** *** 200,204 **** # don't allow the sed command to completely eliminate the filename ! if [ x"$dstfile" = x ] then dstfile=`basename $dst` --- 200,204 ---- # don't allow the sed command to completely eliminate the filename ! if [ x"$dstfile" = x ]$ then dstfile=`basename $dst` *************** *** 231,235 **** $doit $rmcmd -f $dstdir/$dstfile && ! $doit $mvcmd $dsttmp $dstdir/$dstfile fi && --- 231,235 ---- $doit $rmcmd -f $dstdir/$dstfile && ! $doit $mvcmd $dsttmp $dstdir/$dstfile$ fi && Index: select.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/select.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** select.c 26 Feb 2009 12:03:43 -0000 1.2 --- select.c 23 Mar 2009 13:35:53 -0000 1.3 *************** *** 72,80 **** } sop; ! void *select_init (void); ! int select_add (void *, struct event *); ! int select_del (void *, struct event *); ! int select_recalc (void *, int); ! int select_dispatch (void *, struct timeval *); const struct eventop selectops = { --- 72,80 ---- } sop; ! void *select_init(void); ! int select_add(void *, struct event *); ! int select_del(void *, struct event *); ! int select_recalc(void *, int); ! int select_dispatch(void *, struct timeval *); const struct eventop selectops = { *************** *** 87,92 **** }; ! void * ! select_init(void) { /* Disable kqueue when this environment variable is set */ --- 87,91 ---- }; ! void *select_init(void) { /* Disable kqueue when this environment variable is set */ *************** *** 106,111 **** */ ! int ! select_recalc(void *arg, int max) { struct selectop *sop = arg; --- 105,109 ---- */ ! int select_recalc(void *arg, int max) { struct selectop *sop = arg; *************** *** 119,124 **** if (!sop->event_fds) { TAILQ_FOREACH(ev, &eventqueue, ev_next) ! if (ev->ev_fd > sop->event_fds) ! sop->event_fds = ev->ev_fd; } --- 117,122 ---- if (!sop->event_fds) { TAILQ_FOREACH(ev, &eventqueue, ev_next) ! if (ev->ev_fd > sop->event_fds) ! sop->event_fds = ev->ev_fd; } *************** *** 137,143 **** memset((char *)readset + sop->event_fdsz, 0, ! fdsz - sop->event_fdsz); memset((char *)writeset + sop->event_fdsz, 0, ! fdsz - sop->event_fdsz); sop->event_readset = readset; --- 135,141 ---- memset((char *)readset + sop->event_fdsz, 0, ! fdsz - sop->event_fdsz); memset((char *)writeset + sop->event_fdsz, 0, ! fdsz - sop->event_fdsz); sop->event_readset = readset; *************** *** 149,154 **** } ! int ! select_dispatch(void *arg, struct timeval *tv) { int maxfd, res; --- 147,151 ---- } ! int select_dispatch(void *arg, struct timeval *tv) { int maxfd, res; *************** *** 170,174 **** res = select(sop->event_fds + 1, sop->event_readset, ! sop->event_writeset, NULL, tv); if (evsignal_recalc(&sop->evsigmask) == -1) --- 167,171 ---- res = select(sop->event_fds + 1, sop->event_readset, ! sop->event_writeset, NULL, tv); if (evsignal_recalc(&sop->evsigmask) == -1) *************** *** 212,217 **** } ! int ! select_add(void *arg, struct event *ev) { struct selectop *sop = arg; --- 209,213 ---- } ! int select_add(void *arg, struct event *ev) { struct selectop *sop = arg; *************** *** 234,239 **** */ ! int ! select_del(void *arg, struct event *ev) { struct selectop *sop = arg; --- 230,234 ---- */ ! int select_del(void *arg, struct event *ev) { struct selectop *sop = arg; Index: epoll_sub.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/epoll_sub.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** epoll_sub.c 2 Nov 2004 22:02:28 -0000 1.1 --- epoll_sub.c 23 Mar 2009 13:35:53 -0000 1.2 *************** *** 33,44 **** #include <unistd.h> ! int ! epoll_create(int size) { return (syscall(__NR_epoll_create, size)); } ! int ! epoll_ctl(int epfd, int op, int fd, struct epoll_event *event) { --- 33,42 ---- #include <unistd.h> ! int epoll_create(int size) { return (syscall(__NR_epoll_create, size)); } ! int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event) { *************** *** 46,51 **** } ! int ! epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout) { return (syscall(__NR_epoll_wait, epfd, events, maxevents, timeout)); --- 44,48 ---- } ! int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout) { return (syscall(__NR_epoll_wait, epfd, events, maxevents, timeout)); Index: poll.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/libevent/poll.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** poll.c 26 Feb 2009 12:16:08 -0000 1.3 --- poll.c 23 Mar 2009 13:35:53 -0000 1.4 *************** *** 62,66 **** struct pollop { ! int event_count; /* Highest number alloc */ struct pollfd *event_set; struct event **event_back; --- 62,66 ---- struct pollop { ! int event_count; /* Highest number alloc */ struct pollfd *event_set; struct event **event_back; *************** *** 68,76 **** } pollop; ! void *poll_init (void); ! int poll_add (void *, struct event *); ! int poll_del (void *, struct event *); ! int poll_recalc (void *, int); ! int poll_dispatch (void *, struct timeval *); struct eventop pollops = { --- 68,76 ---- } pollop; ! void *poll_init(void); ! int poll_add(void *, struct event *); ! int poll_del(void *, struct event *); ! int poll_recalc(void *, int); ! int poll_dispatch(void *, struct timeval *); struct eventop pollops = { *************** *** 83,88 **** }; ! void * ! poll_init(void) { /* Disable kqueue when this environment variable is set */ --- 83,87 ---- }; ! void *poll_init(void) { /* Disable kqueue when this environment variable is set */ *************** *** 102,107 **** */ ! int ! poll_recalc(void *arg, int max) { struct pollop *pop = arg; --- 101,105 ---- */ ! int poll_recalc(void *arg, int max) { struct pollop *pop = arg; *************** *** 110,115 **** } ! int ! poll_dispatch(void *arg, struct timeval *tv) { int res, i, count, sec, nfds; --- 108,112 ---- } ! int poll_dispatch(void *arg, struct timeval *tv) { int res, i, count, sec, nfds; *************** *** 128,132 **** /* We need more file descriptors */ pop->event_set = realloc(pop->event_set, ! count * sizeof(struct pollfd)); if (pop->event_set == NULL) { log_error("realloc"); --- 125,129 ---- /* We need more file descriptors */ pop->event_set = realloc(pop->event_set, ! count * sizeof(struct pollfd)); if (pop->event_set == NULL) { log_error("realloc"); *************** *** 134,138 **** } pop->event_back = realloc(pop->event_back, ! count * sizeof(struct event *)); if (pop->event_back == NULL) { log_error("realloc"); --- 131,136 ---- } pop->event_back = realloc(pop->event_back, ! count * ! sizeof(struct event *)); if (pop->event_back == NULL) { log_error("realloc"); *************** *** 190,202 **** for (i = 0; i < nfds; i++) { ! int what = pop->event_set[i].revents; ! res = 0; /* If the file gets closed notify */ if (what & POLLHUP) ! what |= POLLIN|POLLOUT; ! if (what & POLLERR) ! what |= POLLIN|POLLOUT; if (what & POLLIN) res |= EV_READ; --- 188,200 ---- for (i = 0; i < nfds; i++) { ! int what = pop->event_set[i].revents; ! res = 0; /* If the file gets closed notify */ if (what & POLLHUP) ! what |= POLLIN | POLLOUT; ! if (what & POLLERR) ! what |= POLLIN | POLLOUT; if (what & POLLIN) res |= EV_READ; *************** *** 219,224 **** } ! int ! poll_add(void *arg, struct event *ev) { struct pollop *pop = arg; --- 217,221 ---- } ! int poll_add(void *arg, struct event *ev) { struct pollop *pop = arg; *************** *** 234,239 **** */ ! int ! poll_del(void *arg, struct event *ev) { struct pollop *pop = arg; --- 231,235 ---- */ ! int poll_del(void *arg, struct event *ev) { struct pollop *pop = arg; |