Example #1
0
static void
test_taskmanager(void) {
	struct ymsglooper *ml0, *ml1;
	struct ymsghandler *mh0, *mh1;
	srand(time(NULL));

	ml0 = ymsglooper_start_looper_thread(FALSE);
	mh0 = ymsghandler_create(ml0, NULL, NULL, NULL); /* use default handle */
	ml1 = ymsglooper_start_looper_thread(FALSE);
	mh1 = ymsghandler_create(ml1, NULL, NULL, NULL); /* use default handle */

	tc0(mh0, mh1);

	/* clean up all others */
	ymsghandler_destroy(mh0);
	ymsghandler_destroy(mh1);
	ymsglooper_stop(ml0);
	ymsglooper_stop(ml1);
	while (YMSGLOOPER_TERMINATED != ymsglooper_get_state(ml0)
	       || YMSGLOOPER_TERMINATED != ymsglooper_get_state(ml1))
		usleep(10 * 1000);
	ymsglooper_destroy(ml0);
	ymsglooper_destroy(ml1);

}
Example #2
0
static void
test_threadex(void) {
	struct ymsglooper *ml;
	struct ymsghandler *mh;
	srand(time(NULL));

	ml = ymsglooper_start_looper_thread(FALSE);
	mh = ymsghandler_create(ml, NULL); /* use default handle */

	tc1(mh);
	tc2(mh);
	tc3(mh);
	tc4(mh);

	/* clean up all others */
	ymsghandler_destroy(mh);
	ymsglooper_stop(ml);
	while (YMSGLOOPER_TERMINATED != ymsglooper_get_state(ml))
		usleep(10*1000);
	ymsglooper_destroy(ml);
}