From 80055514bbe2d79268ea3987751cd01ddb711123 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 14 Nov 2014 11:09:39 +0100 Subject: libcsupport: Use pthread_once() --- cpukit/libcsupport/src/pwdgrp.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cpukit/libcsupport/src/pwdgrp.c b/cpukit/libcsupport/src/pwdgrp.c index d8e1947b3f..c10cbab719 100644 --- a/cpukit/libcsupport/src/pwdgrp.c +++ b/cpukit/libcsupport/src/pwdgrp.c @@ -31,22 +31,21 @@ #include #include #include +#include #include #include "pwdgrp.h" +static pthread_once_t pwdgrp_once = PTHREAD_ONCE_INIT; + /** * Initialize useable but dummy databases */ -void _libcsupport_pwdgrp_init(void) +static void pwdgrp_init(void) { FILE *fp; - static char etc_passwd_initted = 0; - if (etc_passwd_initted) - return; - etc_passwd_initted = 1; mkdir("/etc", 0777); /* @@ -76,6 +75,11 @@ void _libcsupport_pwdgrp_init(void) } } +void _libcsupport_pwdgrp_init(void) +{ + pthread_once(&pwdgrp_once, pwdgrp_init); +} + /** * Extract a string value from the database */ -- cgit v1.2.3