struct lttng_ust_lib_ring_buffer *buf,
int producer_active);
-/* Release object created by members of this API */
+/* Release object created by members of this API. */
int ustctl_release_object(int sock, struct lttng_ust_object_data *data);
+/* Release handle returned by create session. */
+int ustctl_release_handle(int sock, int handle);
#endif /* _LTTNG_UST_CTL_H */
data->memory_map_size = 0;
}
+int ustctl_release_handle(int sock, int handle)
+{
+ struct ustcomm_ust_msg lum;
+ struct ustcomm_ust_reply lur;
+ int ret;
+
+ if (sock >= 0) {
+ memset(&lum, 0, sizeof(lum));
+ lum.handle = handle;
+ lum.cmd = LTTNG_UST_RELEASE;
+ ret = ustcomm_send_app_cmd(sock, &lum, &lur);
+ if (ret < 0) {
+ return ret;
+ }
+ }
+ return 0;
+}
/*
* If sock is negative, it means we don't have to notify the other side
* (e.g. application has already vanished).
return ret;
}
}
- if (sock >= 0) {
- memset(&lum, 0, sizeof(lum));
- lum.handle = data->handle;
- lum.cmd = LTTNG_UST_RELEASE;
- ret = ustcomm_send_app_cmd(sock, &lum, &lur);
- if (ret < 0) {
- return ret;
- }
- }
- return 0;
+ return ustctl_release_handle(sock, data->handle);
}
/*