X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=tests%2Fust-multi-test%2Fust-multi-test.c;h=c003c5a93f0f00bf033be2a54cccd7015b7996f5;hb=ee7fcec8c059c5b203d6aa5df7ceef414a55505c;hp=015211c97357b97ce6dd349d84fb8457bcc62c9d;hpb=48137251d51074da54a37d0377a3d8b0b9773b85;p=lttng-ust.git diff --git a/tests/ust-multi-test/ust-multi-test.c b/tests/ust-multi-test/ust-multi-test.c index 015211c9..c003c5a9 100644 --- a/tests/ust-multi-test/ust-multi-test.c +++ b/tests/ust-multi-test/ust-multi-test.c @@ -40,6 +40,7 @@ #include #include +#include #include <../../libringbuffer/backend.h> #include <../../libringbuffer/frontend.h> #include "../../liblttng-ust/compat.h" /* For ENODATA */ @@ -109,7 +110,7 @@ int open_streams(int sock, int channel_handle, struct lttng_ust_object_data *str } k++; } - if (ret == -ENOENT) + if (ret == -LTTNG_UST_ERR_NOENT) break; if (ret) return ret; @@ -637,11 +638,15 @@ error: int update_futex(int fd, int active) { - size_t mmap_size = sysconf(_SC_PAGE_SIZE); + long page_size; char *wait_shm_mmap; int ret; - wait_shm_mmap = mmap(NULL, mmap_size, PROT_READ | PROT_WRITE, + page_size = sysconf(_SC_PAGE_SIZE); + if (page_size < 0) { + goto error; + } + wait_shm_mmap = mmap(NULL, page_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); if (wait_shm_mmap == MAP_FAILED) { perror("mmap"); @@ -650,12 +655,15 @@ int update_futex(int fd, int active) if (active) { uatomic_set((int32_t *) wait_shm_mmap, 1); - futex_async((int32_t *) wait_shm_mmap, FUTEX_WAKE, - INT_MAX, NULL, NULL, 0); + if (futex_async((int32_t *) wait_shm_mmap, FUTEX_WAKE, + INT_MAX, NULL, NULL, 0) < 0) { + perror("futex_async"); + goto error; + } } else { uatomic_set((int32_t *) wait_shm_mmap, 0); } - ret = munmap(wait_shm_mmap, mmap_size); + ret = munmap(wait_shm_mmap, page_size); if (ret) { perror("Error unmapping wait shm"); goto error; @@ -813,6 +821,7 @@ int main(int argc, char **argv) pid_t ppid; uid_t uid; gid_t gid; + uint32_t bits_per_long; char name[16]; /* Process name */ } reg_msg; char bufname[17]; @@ -870,6 +879,7 @@ end: ret = system(cmd); if (ret < 0) { printf("Unable to clean %s\n", home_rundir); + return -1; } }