#include <v_lib.h>

void	V_CALL
t2(void *arg)
{
	cond_t cond=(cond_t)arg;
/*	condReset(cond); */
	printf("T2:Wait ...\n");
	condWait(cond);
	printf("T2:signaled.\n");

/*	condReset(cond); */
	printf("T2: ");
	while(!condTimedWait(cond,400))
	{
		printf("wait... ");
		fflush(stdout);
	}
	printf("T2:signaled.\n");

	threadExit(0);
}

int	main()
{
	cond_t c;
	thread_t t;
/*	c=condCreate(true); */
	c=condCreate(false);
	t=threadCreate(t2,c);
	timeDelay(2100);
	puts("T1:Signal ...");
/*	condSet(c); */
	condPulse(c);
	timeDelay(2100);
	puts("T1:Signal ...");
/*	condSet(c); */
	condPulse(c);
	threadJoin(t,NULL);
	condDestroy(c);
	return 0;
}
