aboutsummaryrefslogtreecommitdiff
path: root/libthreads/cthread_internals.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-07-01 02:12:43 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-07-01 02:12:43 +0000
commit13ea39a34766fcbecd96ab94bcdf798b08e9bb60 (patch)
tree1e1463b03838a6f36868a4dafc7e652358a51857 /libthreads/cthread_internals.h
parent1f8d504f631531c199d7c6154a0dc442d80ea4a7 (diff)
parent7e15f3d69a83a34ac62cbbee944a0bfbfa92724e (diff)
downloadhurd-13ea39a34766fcbecd96ab94bcdf798b08e9bb60.tar.gz
hurd-13ea39a34766fcbecd96ab94bcdf798b08e9bb60.tar.bz2
hurd-13ea39a34766fcbecd96ab94bcdf798b08e9bb60.zip
Merge branch 'master' into xkb
Conflicts: config.make.in configure.in
Diffstat (limited to 'libthreads/cthread_internals.h')
-rw-r--r--libthreads/cthread_internals.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/libthreads/cthread_internals.h b/libthreads/cthread_internals.h
index eec336cf..81e3b91c 100644
--- a/libthreads/cthread_internals.h
+++ b/libthreads/cthread_internals.h
@@ -161,6 +161,14 @@
# endif
#endif
+/* Type of the TCB. */
+typedef struct
+{
+ void *tcb; /* Points to this structure. */
+ void *dtv; /* Vector of pointers to TLS data. */
+ thread_t self; /* This thread's control port. */
+} tcbhead_t;
+
/*
* Low-level thread implementation.
* This structure must agree with struct ur_cthread in cthreads.h
@@ -307,4 +315,10 @@ extern void cproc_prepare(cproc_t _child,
void (*cthread_body_pc)());
extern void cproc_setup(cproc_t _child, thread_t _mach_thread,
- void (*_routine)(cproc_t));
+ tcbhead_t *tcb, void (*_routine)(cproc_t));
+
+
+/* From glibc. */
+
+/* Dynamic linker TLS allocation. */
+extern void *_dl_allocate_tls(void *);