Fix: hold consumer socket lock for consumer_send_msg
[lttng-tools.git] / src / bin / lttng-sessiond / ust-consumer.c
index 7317b64eff8f1cff92a79af54ebb1f8440c738d9..11318dbf1242b16837af564ac5e0acacb7f72cac 100644 (file)
@@ -15,7 +15,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
 #define _LGPL_SOURCE
 #include <errno.h>
 #include <stdio.h>
@@ -25,7 +24,7 @@
 #include <inttypes.h>
 
 #include <common/common.h>
-#include <common/consumer.h>
+#include <common/consumer/consumer.h>
 #include <common/defaults.h>
 
 #include "consumer.h"
@@ -497,7 +496,9 @@ int ust_consumer_metadata_request(struct consumer_socket *socket)
 
                        memset(&msg, 0, sizeof(msg));
                        msg.cmd_type = LTTNG_ERR_UND;
+                       pthread_mutex_lock(socket->lock);
                        (void) consumer_send_msg(socket, &msg);
+                       pthread_mutex_unlock(socket->lock);
                        /*
                         * This is possible since the session might have been destroyed
                         * during a consumer metadata request. So here, return gracefully
This page took 0.024572 seconds and 4 git commands to generate.