When using trackers, call to ust_app_global_update
results in a call to ust_app_start_trace even if the ust app
trace was already enabled.
This resulted in error message from the app (-1024) complaining that the
tracing was already active on the app side.
Error: Error starting tracing for app pid: 329376 (ret: -1024)
ok 211 - Track command with opts: 0 -u --vpid 329376
A solution to this is to keep the enabled state inside the ua_sess and
skip the start trace if already enabled.
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Change-Id: Ie4198245627e9f0426948489bc9ce24d8c813b08
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
goto end;
}
+ if (ua_sess->enabled) {
+ pthread_mutex_unlock(&ua_sess->lock);
+ goto end;
+ }
+
/* Upon restart, we skip the setup, already done */
if (ua_sess->started) {
goto skip_setup;
/* Indicate that the session has been started once */
ua_sess->started = 1;
+ ua_sess->enabled = 1;
pthread_mutex_unlock(&ua_sess->lock);
}
health_code_update();
+ ua_sess->enabled = 0;
/* Quiescent wait after stopping trace */
pthread_mutex_lock(&app->sock_lock);