/* $Id: test03.c,v 2.1 2000/05/29 13:10:29 cibrario Rel $ Chf test program. Generation and signal - single and multithreaded $Log: test03.c,v $ Revision 2.1 2000/05/29 13:10:29 cibrario *** empty log message *** */ #include #include #include #include #ifdef _REENTRANT #include #endif #define CHF_MODULE_ID 255 #define CHF_EXTENDED_INFO #include "Chf.h" void *task(void *arg) { const char *msg; const ChfDescriptor *d, *e; /* The sleep() is here to increase contention between threads */ sleep(1); printf("\tThread %d\n", (int)arg); /* Generate a condition group and signal it */ ChfCondition 6, CHF_INFO, (int)arg ChfEnd; ChfCondition 6, CHF_INFO, (int)arg ChfEnd; ChfCondition 6, CHF_INFO, (int)arg ChfEnd; ChfCondition 6, CHF_INFO, (int)arg ChfEnd; ChfCondition 7, CHF_INFO, (int)arg ChfEnd; /* The sleep() is here to increase contention between threads */ sleep(1); ChfSignal(); return (void *)0; } #define N_THREADS 50 int main(int argc, char *argv[]) { int st; int i; void *ret; #ifdef _REENTRANT pthread_t t[N_THREADS]; #endif puts("test03"); /* Initialization */ if(st = ChfMsgcatInit(argv[0], CHF_DEFAULT, "./test01.cat", 50, 10, 1)) exit(st); #ifdef _REENTRANT /* Create */ for(i=0; i