Browse Source

eliminate atomics in syslog setlogmask function

Rich Felker 10 years ago
parent
commit
6de071a0be
1 changed files with 6 additions and 4 deletions
  1. 6 4
      src/misc/syslog.c

+ 6 - 4
src/misc/syslog.c

@@ -10,19 +10,21 @@
 #include <errno.h>
 #include <fcntl.h>
 #include "libc.h"
-#include "atomic.h"
 
 static volatile int lock[2];
 static char log_ident[32];
 static int log_opt;
 static int log_facility = LOG_USER;
-static volatile int log_mask = 0xff;
+static int log_mask = 0xff;
 static int log_fd = -1;
 
 int setlogmask(int maskpri)
 {
-	if (maskpri) return a_swap(&log_mask, maskpri);
-	else return log_mask;
+	LOCK(lock);
+	int ret = log_mask;
+	if (maskpri) log_mask = maskpri;
+	UNLOCK(lock);
+	return ret;
 }
 
 static const struct {