summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
67e4079)
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
int ustctl_tracer_version(int sock, struct lttng_ust_tracer_version *v);
int ustctl_wait_quiescent(int sock);
int ustctl_tracer_version(int sock, struct lttng_ust_tracer_version *v);
int ustctl_wait_quiescent(int sock);
+int ustctl_sock_flush_buffer(int sock, struct lttng_ust_object_data *object);
+
/* not implemented yet */
struct lttng_ust_calibrate;
int ustctl_calibrate(int sock, struct lttng_ust_calibrate *calibrate);
/* not implemented yet */
struct lttng_ust_calibrate;
int ustctl_calibrate(int sock, struct lttng_ust_calibrate *calibrate);
+ ua_sess->metadata->handle = ua_sess->metadata->obj->handle;
+
int ust_app_stop_trace(struct ltt_ust_session *usess, struct ust_app *app)
{
int ret = 0;
int ust_app_stop_trace(struct ltt_ust_session *usess, struct ust_app *app)
{
int ret = 0;
+ struct cds_lfht_iter iter;
struct ust_app_session *ua_sess;
struct ust_app_session *ua_sess;
+ struct ust_app_channel *ua_chan;
DBG("Stopping tracing for ust app pid %d", app->key.pid);
DBG("Stopping tracing for ust app pid %d", app->key.pid);
-#if 0 /* only useful when periodical flush will be supported */
- /* need to keep a handle on shm in session for this. */
/* Flush all buffers before stopping */
/* Flush all buffers before stopping */
- ret = ustctl_flush_buffer(usess->sock, usess->metadata->obj);
+ ret = ustctl_sock_flush_buffer(app->key.sock, ua_sess->metadata->obj);
- ERR("UST metadata flush failed");
+ ERR("UST app PID %d metadata flush failed", app->key.pid);
+ ERR("Ended with ret %d", ret);
- cds_list_for_each_entry(ustchan, &usess->channels.head, list) {
- ret = ustctl_flush_buffer(usess->sock, ustchan->obj);
+ cds_lfht_for_each_entry(ua_sess->channels, &iter, ua_chan, node) {
+ ret = ustctl_sock_flush_buffer(app->key.sock, ua_chan->obj);
- ERR("UST flush buffer error");
+ ERR("UST app PID %d channel %s flush failed",
+ app->key.pid, ua_chan->name);
+ ERR("Ended with ret %d", ret);
+ /* Continuing flushing all buffers */
+ continue;
/* This inhibits UST tracing */
ret = ustctl_stop_session(app->key.sock, ua_sess->handle);
/* This inhibits UST tracing */
ret = ustctl_stop_session(app->key.sock, ua_sess->handle);