X-Git-Url: http://git.lttng.org/?p=lttng-ust.git;a=blobdiff_plain;f=liblttng-ust%2Flttng-ust-comm.c;h=8d90e2c367dafae1a88b8f077208a8fb0596e82d;hp=682992ca3d46fe719a8b22cfb761fd86ea47fa70;hb=d61ad9ef7bc9a9650ae9e2793ff7e3afe816a670;hpb=ab89263ef2f50399e608e74557900aa0a3165a61 diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c index 682992ca..8d90e2c3 100644 --- a/liblttng-ust/lttng-ust-comm.c +++ b/liblttng-ust/lttng-ust-comm.c @@ -1203,6 +1203,7 @@ int handle_message(struct sock_info *sock_info, &args, sock_info); else ret = -ENOSYS; + free(args.counter.counter_data); break; } case LTTNG_UST_COUNTER_GLOBAL: @@ -1220,6 +1221,16 @@ int handle_message(struct sock_info *sock_info, &args, sock_info); else ret = -ENOSYS; + if (args.counter_shm.shm_fd >= 0) { + int close_ret; + + lttng_ust_lock_fd_tracker(); + close_ret = close(args.counter_shm.shm_fd); + lttng_ust_unlock_fd_tracker(); + args.counter_shm.shm_fd = -1; + if (close_ret) + PERROR("close"); + } break; } case LTTNG_UST_COUNTER_CPU: @@ -1237,6 +1248,16 @@ int handle_message(struct sock_info *sock_info, &args, sock_info); else ret = -ENOSYS; + if (args.counter_shm.shm_fd >= 0) { + int close_ret; + + lttng_ust_lock_fd_tracker(); + close_ret = close(args.counter_shm.shm_fd); + lttng_ust_unlock_fd_tracker(); + args.counter_shm.shm_fd = -1; + if (close_ret) + PERROR("close"); + } break; } case LTTNG_UST_EVENT_NOTIFIER_CREATE: