X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fregression%2Fkernel%2Fselect_poll_epoll.c;h=592fbcab8809223ffb2104572566eb423c22f1f9;hb=36bc42d93bfb26c02e17135ab4e0d6825418bee3;hp=e0e92fd381c8980499059aea44c77525b2922fd2;hpb=d542c0aefc94e5c5805e6158b03c9e82e53b5fd1;p=lttng-tools.git diff --git a/tests/regression/kernel/select_poll_epoll.c b/tests/regression/kernel/select_poll_epoll.c index e0e92fd38..592fbcab8 100644 --- a/tests/regression/kernel/select_poll_epoll.c +++ b/tests/regression/kernel/select_poll_epoll.c @@ -655,7 +655,11 @@ void stress_ppoll(int *fds, int value) do_ppoll(fds, ufds); } stop_thread = 1; - pthread_join(writer, NULL); + ret = pthread_join(writer, NULL); + if (ret) { + fprintf(stderr, "[error] pthread_join\n"); + goto end; + } end: return; } @@ -719,17 +723,15 @@ void epoll_pwait_concurrent_munmap(void) int ret, epollfd, i, fds[MAX_FDS]; char buf[BUF_SIZE]; struct epoll_event *epoll_event; - void *addr = NULL; pthread_t writer; - epollfd = epoll_create(MAX_FDS); if (epollfd < 0) { perror("[eppoll] create"); goto end; } - epoll_event = mmap(addr, MAX_FDS * sizeof(struct epoll_event), + epoll_event = mmap(NULL, MAX_FDS * sizeof(struct epoll_event), PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (epoll_event == MAP_FAILED) { @@ -755,7 +757,7 @@ void epoll_pwait_concurrent_munmap(void) (void *) epoll_event); if (ret != 0) { fprintf(stderr, "[error] pthread_create\n"); - goto end; + goto end_unmap; } ret = epoll_pwait(epollfd, epoll_event, 1, 1, NULL); @@ -773,8 +775,11 @@ void epoll_pwait_concurrent_munmap(void) } stop_thread = 1; - pthread_join(writer, NULL); - + ret = pthread_join(writer, NULL); + if (ret) { + fprintf(stderr, "[error] pthread_join\n"); + goto end_unmap; + } end_unmap: for (i = 0; i < MAX_FDS; i++) { ret = close(fds[i]); @@ -783,7 +788,7 @@ end_unmap: } } - ret = munmap(addr, MAX_FDS * sizeof(struct epoll_event)); + ret = munmap(epoll_event, MAX_FDS * sizeof(struct epoll_event)); if (ret != 0) { perror("munmap"); }