PR_Wait(exit_cv, 0x7fffffff);
while (_thread_exit_count > 0) PR_Wait(exit_cv, PR_INTERVAL_NO_TIMEOUT);
void do_work(void){    int index;	_thread_exit_count = _threads * 2;	for (index=0; index<_threads; index++) {		PRThread *thread;		int *id = (int *)PR_Malloc(sizeof(int));		*id = index;		if ( (thread = PR_CreateThread(PR_USER_THREAD,                                        _server_thread,                                        id,                                        PR_PRIORITY_NORMAL,                                        scope1,                                        PR_UNJOINABLE_THREAD,                                        0)) == NULL)			fprintf(stderr, "Error creating server thread %d\n", index);	}		PR_EnterMonitor(exit_cv);	PR_Wait(exit_cv, 0x7fffffff);	PR_ExitMonitor(exit_cv);	fprintf(stdout, "TEST COMPLETE!\n");	tally_results(verbose);}