Back to index

glibc  2.9
Classes | Defines | Functions | Variables
descr.h File Reference
#include <limits.h>
#include <sched.h>
#include <setjmp.h>
#include <stdbool.h>
#include <sys/types.h>
#include <hp-timing.h>
#include <list.h>
#include <lowlevellock.h>
#include <pthreaddef.h>
#include <dl-sysdep.h>
#include "../nptl_db/thread_db.h"
#include <tls.h>
#include <resolv.h>
#include <kernel-features.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pthread_unwind_buf
struct  xid_command
struct  robust_list_head
struct  priority_protection_data
struct  pthread
struct  pthread::pthread_key_data
struct  pthread_key_data
struct  pthread_unwind_buf.cancel_jmp_buf
union  pthread_unwind_buf.priv
struct  pthread_unwind_buf.priv.data
union  pthread.__unnamed__
union  pthread.__unnamed__

Defines

#define __need_res_state
#define TCB_ALIGNMENT   sizeof (double)
#define PTHREAD_KEY_2NDLEVEL_SIZE   32
#define PTHREAD_KEY_1STLEVEL_SIZE
#define ENQUEUE_MUTEX_BOTH(mutex, val)
#define DEQUEUE_MUTEX(mutex)
#define ENQUEUE_MUTEX(mutex)   ENQUEUE_MUTEX_BOTH (mutex, 0)
#define ENQUEUE_MUTEX_PI(mutex)   ENQUEUE_MUTEX_BOTH (mutex, 1)
#define HAVE_CLEANUP_JMP_BUF
#define CANCELSTATE_BIT   0
#define CANCELSTATE_BITMASK   0x01
#define CANCELTYPE_BIT   1
#define CANCELTYPE_BITMASK   0x02
#define CANCELING_BIT   2
#define CANCELING_BITMASK   0x04
#define CANCELED_BIT   3
#define CANCELED_BITMASK   0x08
#define EXITING_BIT   4
#define EXITING_BITMASK   0x10
#define TERMINATED_BIT   5
#define TERMINATED_BITMASK   0x20
#define SETXID_BIT   6
#define SETXID_BITMASK   0x40
#define CANCEL_RESTMASK   0xffffff80
#define CANCEL_ENABLED_AND_CANCELED(value)
#define CANCEL_ENABLED_AND_CANCELED_AND_ASYNCHRONOUS(value)
#define IS_DETACHED(pd)   ((pd)->joinid == (pd))
#define PTHREAD_STRUCT_END_PADDING   (sizeof (struct pthread) - offsetof (struct pthread, end_padding))

Functions

struct pthread __attribute ((aligned(TCB_ALIGNMENT)))

Variables

union {
tcbhead_t header
void * __padding [16]
}; 
list_t list
pid_t tid
pid_t pid
union {
__pthread_slist_t robust_list
}; 
struct _pthread_cleanup_buffercleanup
struct pthread_unwind_bufcleanup_jmp_buf
int cancelhandling
int flags
struct pthread_key_data specific_1stblock [PTHREAD_KEY_2NDLEVEL_SIZE]
struct pthread_key_dataspecific [PTHREAD_KEY_1STLEVEL_SIZE]
bool specific_used
bool report_events
bool user_stack
bool stopped_start
int parent_cancelhandling
int lock
int setxid_futex
struct pthreadjoinid
void * result
int schedpolicy
void *(* start_routine )(void *)
void * arg
td_eventbuf_t eventbuf
struct pthreadnextevent
void * stackblock
size_t stackblock_size
size_t guardsize
size_t reported_guardsize
struct priority_protection_datatpp
char end_padding []

Class Documentation

struct pthread_unwind_buf

Definition at line 66 of file descr.h.

Class Members
struct pthread_unwind_buf cancel_jmp_buf
union pthread_unwind_buf priv
struct xid_command

Definition at line 98 of file descr.h.

Class Members
volatile int cntr
long int id
int syscall_no
struct robust_list_head

Definition at line 107 of file descr.h.

Class Members
long int futex_offset
void * list
void * list_op_pending
struct priority_protection_data

Definition at line 116 of file descr.h.

Class Members
unsigned int priomap
int priomax
struct pthread::pthread_key_data

Definition at line 281 of file descr.h.

Class Members
void * data
uintptr_t seq
struct pthread_key_data

Definition at line 530 of file descr.h.

Class Members
void * data
uintptr_t seq
struct pthread_unwind_buf.cancel_jmp_buf

Definition at line 68 of file descr.h.

Class Members
__jmp_buf jmp_buf
int mask_was_saved
union pthread_unwind_buf.priv

Definition at line 74 of file descr.h.

Class Members
priv data
void * pad
struct pthread_unwind_buf.priv.data

Definition at line 79 of file descr.h.

Class Members
int canceltype
struct _pthread_cleanup_buffer * cleanup
struct pthread_unwind_buf * prev
union pthread.__unnamed__

Definition at line 126 of file descr.h.

Class Members
void * __padding
tcbhead_t header
union pthread.__unnamed__

Definition at line 198 of file descr.h.

Class Members
__pthread_slist_t robust_list

Define Documentation

Definition at line 38 of file descr.h.

#define CANCEL_RESTMASK   0xffffff80

Definition at line 515 of file descr.h.

#define CANCELED_BIT   3

Definition at line 503 of file descr.h.

#define CANCELED_BITMASK   0x08

Definition at line 504 of file descr.h.

#define CANCELING_BIT   2

Definition at line 500 of file descr.h.

#define CANCELING_BITMASK   0x04

Definition at line 501 of file descr.h.

#define CANCELSTATE_BIT   0

Definition at line 494 of file descr.h.

#define CANCELSTATE_BITMASK   0x01

Definition at line 495 of file descr.h.

#define CANCELTYPE_BIT   1

Definition at line 497 of file descr.h.

#define CANCELTYPE_BITMASK   0x02

Definition at line 498 of file descr.h.

#define DEQUEUE_MUTEX (   mutex)
Value:
do {                                                                 \
    __pthread_slist_t *runp = (__pthread_slist_t *)                         \
      (((uintptr_t) THREAD_GETMEM (THREAD_SELF, robust_list.__next)) & ~1ul); \
    if (runp == &mutex->__data.__list)                                      \
      THREAD_SETMEM (THREAD_SELF, robust_list.__next, runp->__next);        \
    else                                                             \
      {                                                                     \
	__pthread_slist_t *next = (__pthread_slist_t *)              \
         (((uintptr_t) runp->__next) & ~1ul);                               \
       while (next != &mutex->__data.__list)                                \
         {                                                           \
           runp = next;                                              \
           next = (__pthread_slist_t *) (((uintptr_t) runp->__next) & ~1ul); \
         }                                                           \
                                                                     \
       runp->__next = next->__next;                                         \
       mutex->__data.__list.__next = NULL;                                  \
      }                                                                     \
  } while (0)

Definition at line 460 of file descr.h.

#define ENQUEUE_MUTEX (   mutex)    ENQUEUE_MUTEX_BOTH (mutex, 0)

Definition at line 481 of file descr.h.

#define ENQUEUE_MUTEX_BOTH (   mutex,
  val 
)
Value:
do {                                                                 \
    mutex->__data.__list.__next                                             \
      = THREAD_GETMEM (THREAD_SELF, robust_list.__next);                    \
    THREAD_SETMEM (THREAD_SELF, robust_list.__next,                         \
                 (void *) (((uintptr_t) &mutex->__data.__list) | val));     \
  } while (0)

Definition at line 453 of file descr.h.

#define ENQUEUE_MUTEX_PI (   mutex)    ENQUEUE_MUTEX_BOTH (mutex, 1)

Definition at line 482 of file descr.h.

#define EXITING_BIT   4

Definition at line 506 of file descr.h.

#define EXITING_BITMASK   0x10

Definition at line 507 of file descr.h.

Definition at line 489 of file descr.h.

#define IS_DETACHED (   pd)    ((pd)->joinid == (pd))

Definition at line 579 of file descr.h.

Value:

Definition at line 57 of file descr.h.

#define PTHREAD_KEY_2NDLEVEL_SIZE   32

Definition at line 53 of file descr.h.

#define PTHREAD_STRUCT_END_PADDING   (sizeof (struct pthread) - offsetof (struct pthread, end_padding))

Definition at line 621 of file descr.h.

#define SETXID_BIT   6

Definition at line 512 of file descr.h.

#define SETXID_BITMASK   0x40

Definition at line 513 of file descr.h.

#define TCB_ALIGNMENT   sizeof (double)

Definition at line 43 of file descr.h.

#define TERMINATED_BIT   5

Definition at line 509 of file descr.h.

#define TERMINATED_BITMASK   0x20

Definition at line 510 of file descr.h.


Function Documentation


Variable Documentation

union { ... }
union { ... }
void* arg

Definition at line 591 of file descr.h.

Definition at line 492 of file descr.h.

Definition at line 485 of file descr.h.

Definition at line 488 of file descr.h.

char end_padding[]

Definition at line 619 of file descr.h.

Definition at line 594 of file descr.h.

Definition at line 526 of file descr.h.

Definition at line 608 of file descr.h.

struct pthread* joinid

Definition at line 577 of file descr.h.

Definition at line 399 of file descr.h.

Definition at line 561 of file descr.h.

struct pthread* nextevent

Definition at line 596 of file descr.h.

Definition at line 558 of file descr.h.

Definition at line 406 of file descr.h.

Definition at line 548 of file descr.h.

Definition at line 610 of file descr.h.

void* result

Definition at line 582 of file descr.h.

Definition at line 586 of file descr.h.

Definition at line 564 of file descr.h.

Definition at line 542 of file descr.h.

Definition at line 545 of file descr.h.

void* stackblock

Definition at line 605 of file descr.h.

Definition at line 606 of file descr.h.

void*(* start_routine)(void *)

Definition at line 590 of file descr.h.

Definition at line 554 of file descr.h.

Definition at line 403 of file descr.h.

Definition at line 613 of file descr.h.

bool user_stack

Definition at line 551 of file descr.h.