pike.git / src / threads.h

version» Context lines:

pike.git/src/threads.h:16:      #include "pike_rusage.h"      struct svalue;   struct pike_frame;      /* Status values */   #define THREAD_NOT_STARTED -1   #define THREAD_RUNNING 0   #define THREAD_EXITED 1 + #define THREAD_ABORTED 2      /* Thread flags */   #define THREAD_FLAG_TERM 1 /* Pending termination. */   #define THREAD_FLAG_INTR 2 /* Pending interrupt. */      #define THREAD_FLAG_SIGNAL_MASK 3 /* All of the above. */    -  + #define THREAD_FLAG_INHIBIT 4 /* Inhibit signals. */ +    /* Debug flags */   #define THREAD_DEBUG_LOOSE 1 /* Thread is not bound to the interpreter. */      struct thread_state {    struct Pike_interpreter_struct state;    struct object *thread_obj; /* NOTE: Not ref-counted! */ -  struct mapping *thread_local; +  struct mapping *thread_locals;    struct thread_state *hashlink, **backlink;    struct svalue result;    COND_T status_change;    THREAD_T id; -  +  cpu_time_t interval_start; /* real_time at THREADS_DISALLOW(). */   #ifdef CPU_TIME_MIGHT_BE_THREAD_LOCAL    cpu_time_t auto_gc_time;   #endif    unsigned short waiting; /* Threads waiting on status_change. */    unsigned short flags;    char swapped; /* Set if thread has been swapped out. */    signed char status;   #ifdef PIKE_DEBUG    char debug_flags;   #endif   };         /* Prototypes begin here */   PMOD_EXPORT int low_nt_create_thread(unsigned stack_size,    unsigned (TH_STDCALL *func)(void *),    void *arg,    unsigned *id);   struct thread_starter; - struct thread_local; + struct thread_local_var;   void low_init_threads_disable(void);   void init_threads_disable(struct object *o);   void exit_threads_disable(struct object *o);   void init_interleave_mutex(IMUTEX_T *im);   void exit_interleave_mutex(IMUTEX_T *im);   void thread_table_init(void);   unsigned INT32 thread_table_hash(THREAD_T *tid);   PMOD_EXPORT void thread_table_insert(struct thread_state *s);   PMOD_EXPORT void thread_table_delete(struct thread_state *s);   PMOD_EXPORT struct thread_state *thread_state_for_id(THREAD_T tid);
pike.git/src/threads.h:102:   void low_th_init(void);   void th_init(void);   void cleanup_all_other_threads (void);   void th_cleanup(void);   int th_num_idle_farmers(void);   int th_num_farmers(void);   PMOD_EXPORT void th_farm(void (*fun)(void *), void *here);   PMOD_EXPORT void call_with_interpreter(void (*func)(void *ctx), void *ctx);   PMOD_EXPORT void enable_external_threads(void);   PMOD_EXPORT void disable_external_threads(void); +    /* Prototypes end here */   #else   #define pike_thread_yield()      #endif         /* for compatibility */   #include "interpret.h"      #endif /* THREADS_H */