14#define copy_pef(f, d) \
15 g_tw_pe->type.f = type->f ? type->f : d
41 memset(&no_type, 0,
sizeof(no_type));
44#ifdef USE_RAND_TIEBREAKER
void * tw_calloc(const char *file, int line, const char *for_who, size_t e_sz, size_t n)
void tw_error(const char *file, int line, const char *fmt,...)
tw_synch g_tw_synchronization_protocol
static tw_kp * tw_getkp(tw_kpid id)
tw_rng * tw_rand_core_init(uint32_t v, uint32_t w)
tw_rng * tw_rand_init(uint32_t v, uint32_t w)
tw_event_sig const g_tw_max_sig
static void tw_copy_event_sig(tw_event_sig *e, tw_event_sig const *sig)
static void tw_eventq_fossil_collect(tw_eventq *q, tw_pe *pe)
tw_eventq pevent_q
Events processed by LPs bound to this KP.
Holds the entire PE state.
Virtual Functions for per PE ops.
void tw_pe_fossil_collect(void)
static void dummy_pe_f(tw_pe *pe)
void tw_pe_settype(const tw_petype *type)