X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-comm%2Flttng-ust-comm.c;h=9f2bdd5b3f80b650c04bbb6cb5ff37af74317880;hb=20d1999d42392063fd530d1f6c00b93c25d178d6;hp=543465edf2fe2e2ee703a0d62e1b4c800d5d2f0d;hpb=98a97f249e4708f2a14c648962fc2b5423a55d77;p=lttng-ust.git diff --git a/liblttng-ust-comm/lttng-ust-comm.c b/liblttng-ust-comm/lttng-ust-comm.c index 543465ed..9f2bdd5b 100644 --- a/liblttng-ust-comm/lttng-ust-comm.c +++ b/liblttng-ust-comm/lttng-ust-comm.c @@ -631,12 +631,12 @@ ssize_t ustcomm_recv_channel_from_sessiond(int sock, ret = lttng_ust_add_fd_to_tracker(wakeup_fd); if (ret < 0) { - lttng_ust_unlock_fd_tracker(); ret = close(wakeup_fd); if (ret) { PERROR("close on wakeup_fd"); } len = -EIO; + lttng_ust_unlock_fd_tracker(); goto error_recv; } @@ -677,19 +677,18 @@ int ustcomm_recv_stream_from_sessiond(int sock, ret = lttng_ust_add_fd_to_tracker(fds[0]); if (ret < 0) { - lttng_ust_unlock_fd_tracker(); ret = close(fds[0]); if (ret) { PERROR("close on received shm_fd"); } ret = -EIO; + lttng_ust_unlock_fd_tracker(); goto error; } *shm_fd = ret; ret = lttng_ust_add_fd_to_tracker(fds[1]); if (ret < 0) { - lttng_ust_unlock_fd_tracker(); ret = close(*shm_fd); if (ret) { PERROR("close on shm_fd"); @@ -700,6 +699,7 @@ int ustcomm_recv_stream_from_sessiond(int sock, PERROR("close on received wakeup_fd"); } ret = -EIO; + lttng_ust_unlock_fd_tracker(); goto error; } *wakeup_fd = ret;