aboutsummaryrefslogtreecommitdiff
path: root/lib/ofp-parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ofp-parse.c')
-rw-r--r--lib/ofp-parse.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c
index 618290b7..4b8036db 100644
--- a/lib/ofp-parse.c
+++ b/lib/ofp-parse.c
@@ -34,6 +34,7 @@
#include "ofp-util.h"
#include "ofpbuf.h"
#include "openflow/openflow.h"
+#include "ovs-thread.h"
#include "packets.h"
#include "socket-util.h"
#include "vconn.h"
@@ -1519,12 +1520,16 @@ static char * WARN_UNUSED_RESULT
parse_flow_monitor_request__(struct ofputil_flow_monitor_request *fmr,
const char *str_, char *string)
{
+ static pthread_mutex_t mutex = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER;
static uint32_t id;
char *save_ptr = NULL;
char *name;
+ xpthread_mutex_lock(&mutex);
fmr->id = id++;
+ xpthread_mutex_unlock(&mutex);
+
fmr->flags = (NXFMF_INITIAL | NXFMF_ADD | NXFMF_DELETE | NXFMF_MODIFY
| NXFMF_OWN | NXFMF_ACTIONS);
fmr->out_port = OFPP_NONE;