From 6027d03dc347e3ea4d965571382e4ed8545fbed2 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Fri, 26 Apr 2013 13:20:30 -0700 Subject: [PATCH] netdev-vport: Make pid checking in set_tunnel_config() thread-safe Signed-off-by: Ben Pfaff Acked-by: Andy Zhou --- lib/netdev-vport.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index 885bf5e3a..4214b383d 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -413,13 +413,17 @@ set_tunnel_config(struct netdev *dev_, const struct smap *args) } if (tnl_cfg.ipsec) { + static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; static pid_t pid = 0; + + pthread_mutex_lock(&mutex); if (pid <= 0) { char *file_name = xasprintf("%s/%s", ovs_rundir(), "ovs-monitor-ipsec.pid"); pid = read_pidfile(file_name); free(file_name); } + pthread_mutex_unlock(&mutex); if (pid < 0) { VLOG_ERR("%s: IPsec requires the ovs-monitor-ipsec daemon", -- 2.20.1