summaryrefslogtreecommitdiffstats
path: root/lib/librthread/rthread_debug.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2017-09-05 02:40:54 +0000
committerguenther <guenther@openbsd.org>2017-09-05 02:40:54 +0000
commita5511fa9f431600dbd6dc2b46fc4e6b73e7d239c (patch)
treebf9e27f29ab35e6599d4c1362a9902d7e7bfdc74 /lib/librthread/rthread_debug.c
parentSerialize access to IP reassembly queue with a mutex. This lets (diff)
downloadwireguard-openbsd-a5511fa9f431600dbd6dc2b46fc4e6b73e7d239c.tar.xz
wireguard-openbsd-a5511fa9f431600dbd6dc2b46fc4e6b73e7d239c.zip
Move mutex, condvar, and thread-specific data routes, pthread_once, and
pthread_exit from libpthread to libc, along with low-level bits to support them. Major bump to both libc and libpthread. Requested by libressl team. Ports testing by naddy@ ok kettenis@
Diffstat (limited to 'lib/librthread/rthread_debug.c')
-rw-r--r--lib/librthread/rthread_debug.c76
1 files changed, 0 insertions, 76 deletions
diff --git a/lib/librthread/rthread_debug.c b/lib/librthread/rthread_debug.c
deleted file mode 100644
index 4115bc7b077..00000000000
--- a/lib/librthread/rthread_debug.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* $OpenBSD: rthread_debug.c,v 1.5 2016/09/01 10:56:46 deraadt Exp $ */
-
-/* PUBLIC DOMAIN: No Rights Reserved. Marco S Hyman <marc@snafu.org> */
-
-#include <pthread.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include "rthread.h"
-
-REDIRECT_SYSCALL(issetugid);
-
-int _rthread_debug_level;
-
-/*
- * Note: messages truncated at 255 characters. Could use vasprintf,
- * but don't want to use malloc here so the function can be used
- * in signal handlers.
- */
-#define MAX_MSG_LEN 256
-#define RTHREAD_ENV_DEBUG "RTHREAD_DEBUG"
-
-/*
- * format and send output to stderr if the given "level" is less than or
- * equal to the current debug level. Messages with a level <= 0 will
- * always be printed.
- */
-void
-_rthread_debug(int level, const char *fmt, ...)
-{
- char msg[MAX_MSG_LEN];
- char *p;
- int cnt;
- ssize_t c;
-
- if (_rthread_debug_level >= level) {
- va_list ap;
- va_start(ap, fmt);
- cnt = vsnprintf(msg, MAX_MSG_LEN, fmt, ap);
- va_end(ap);
- if (cnt > MAX_MSG_LEN - 1)
- cnt = MAX_MSG_LEN - 1;
- p = msg;
- do {
- c = write(STDERR_FILENO, p, cnt);
- if (c == -1)
- break;
- if (c != cnt)
- sched_yield();
- p += c;
- cnt -= c;
- } while (cnt > 0);
- }
-}
-
-/*
- * set the debug level from an environment string. Bogus values are
- * silently ignored.
- */
-void
-_rthread_debug_init(void)
-{
- char *envp;
- char *rem;
-
- if (issetugid())
- return;
- envp = getenv(RTHREAD_ENV_DEBUG);
- if (envp) {
- _rthread_debug_level = (int) strtol(envp, &rem, 0);
- if (*rem || _rthread_debug_level < 0)
- _rthread_debug_level = 0;
- }
-}