clang: Add annotations for thread safety check.
[sliver-openvswitch.git] / lib / netdev-dummy.c
index 82473a1..c4f58b7 100644 (file)
@@ -241,16 +241,11 @@ static int
 netdev_dummy_create(const struct netdev_class *class, const char *name,
                     struct netdev **netdevp)
 {
-    static unsigned int next_n = 0xaa550000;
-    static pthread_mutex_t mutex = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER;
-
+    static atomic_uint next_n = ATOMIC_VAR_INIT(0xaa550000);
     struct netdev_dummy *netdev;
     unsigned int n;
 
-    xpthread_mutex_lock(&mutex);
-    n = next_n++;
-    xpthread_mutex_unlock(&mutex);
-
+    atomic_add(&next_n, 1, &n);
     netdev = xzalloc(sizeof *netdev);
     netdev_init(&netdev->up, name, class);
     netdev->hwaddr[0] = 0xaa;