diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-07-01 02:12:43 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-07-01 02:12:43 +0000 |
commit | 13ea39a34766fcbecd96ab94bcdf798b08e9bb60 (patch) | |
tree | 1e1463b03838a6f36868a4dafc7e652358a51857 /libthreads/cthread_internals.h | |
parent | 1f8d504f631531c199d7c6154a0dc442d80ea4a7 (diff) | |
parent | 7e15f3d69a83a34ac62cbbee944a0bfbfa92724e (diff) | |
download | hurd-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.h | 16 |
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 *); |