OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [boehm-gc/] [include/] [private/] [solaris_threads.h] - Rev 14

Go to most recent revision | Compare with Previous | Blame | View Log

#ifdef GC_SOLARIS_THREADS
 
/* The set of all known threads.  We intercept thread creation and     */
/* joins.  We never actually create detached threads.  We allocate all */
/* new thread stacks ourselves.  These allow us to maintain this       */
/* data structure.                                                     */
/* Protected by GC_thr_lock.                                           */
/* Some of this should be declared volatile, but that's incosnsistent  */
/* with some library routine declarations.  In particular, the 	       */
/* definition of cond_t doesn't mention volatile!                      */
  typedef struct GC_Thread_Rep {
    struct GC_Thread_Rep * next;
    thread_t id;
    word flags;
#      define FINISHED 1       /* Thread has exited.   */
#      define DETACHED 2       /* Thread is intended to be detached.   */
#      define CLIENT_OWNS_STACK        4
                               /* Stack was supplied by client.        */
#      define SUSPNDED 8       /* Currently suspended.			*/
    			       /* SUSPENDED is used insystem header.	*/
    ptr_t stack;
    size_t stack_size;
    cond_t join_cv;
    void * status;
  } * GC_thread;
  extern GC_thread GC_new_thread(thread_t id);
 
  extern GC_bool GC_thr_initialized;
  extern volatile GC_thread GC_threads[];
  extern size_t GC_min_stack_sz;
  extern size_t GC_page_sz;
  extern void GC_thr_init(void);
  extern ptr_t GC_stack_alloc(size_t * stack_size);
  extern void GC_stack_free(ptr_t stack, size_t size);
 
# endif /* GC_SOLARIS_THREADS */
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.