X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fdpif.c;h=c4b6ff675bf51685322874ef9a307c0e18a9edce;hb=cc36576070df622d0fc7a6e26ce01027e12b5b59;hp=f07d3c0da97f88d640f6b2c54e6ffb236dc83cee;hpb=bbb8dee92d639331e8bd81823638267dcc895396;p=sliver-openvswitch.git diff --git a/lib/dpif.c b/lib/dpif.c index f07d3c0da..c4b6ff675 100644 --- a/lib/dpif.c +++ b/lib/dpif.c @@ -98,15 +98,15 @@ static void log_execute_message(struct dpif *, const struct dpif_execute *, static void dp_initialize(void) { - static int status = -1; + static struct ovsthread_once once = OVSTHREAD_ONCE_INITIALIZER; - if (status < 0) { + if (ovsthread_once_start(&once)) { int i; - status = 0; for (i = 0; i < ARRAY_SIZE(base_dpif_classes); i++) { dp_register_provider(base_dpif_classes[i]); } + ovsthread_once_done(&once); } }