summary refs log tree commit diff
path: root/sysdeps/mach/hurd/cthreads.c
blob: c63ae73bb5d6031934e3da95f0fce7461d64d629 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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;
}