aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-08-16 19:50:53 +0000
committerUlrich Drepper <drepper@redhat.com>1997-08-16 19:50:53 +0000
commit1552fb26cc38b8b9212dad30d60b193eb4fbf2a2 (patch)
treee528b6ff1c2a45074785e6226aae7fef16b54540
parent301d6d07046ec765b4dc875fdfd68cbc4571668d (diff)
downloadglibc-1552fb26cc38b8b9212dad30d60b193eb4fbf2a2.zip
glibc-1552fb26cc38b8b9212dad30d60b193eb4fbf2a2.tar.gz
glibc-1552fb26cc38b8b9212dad30d60b193eb4fbf2a2.tar.bz2
CThread interface for glibc.
-rw-r--r--sysdeps/mach/hurd/cthreads.c48
1 files changed, 48 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/cthreads.c b/sysdeps/mach/hurd/cthreads.c
new file mode 100644
index 0000000..c63ae73
--- /dev/null
+++ b/sysdeps/mach/hurd/cthreads.c
@@ -0,0 +1,48 @@
+#include <bits/libc-lock.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* Placeholder for key creation routine from Hurd cthreads library. */
+int
+weak_function
+cthread_keycreate (key)
+ cthread_key_t *key;
+{
+ __set_errno (ENOSYS);
+ *key = -1;
+ return -1;
+}
+
+/* Placeholder for key retrieval routine from Hurd cthreads library. */
+int
+weak_function
+cthread_getspecific (key, pval)
+ cthread_key_t key;
+ void **pval;
+{
+ *pval = NULL;
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+/* Placeholder for key setting routine from Hurd cthreads library. */
+int
+weak_function
+cthread_setspecific (key, val)
+ cthread_key_t key;
+ void *val;
+{
+ __set_errno (ENOSYS);
+ return -1;
+}
+
+/* Call cthread_getspecific which gets a pointer to the return value instead
+ of just returning it. */
+void *
+__libc_getspecific (key)
+ cthread_key_t key;
+{
+ void *val;
+ cthread_getspecific (key, &val);
+ return val;
+}