#if (INCLUDE__UBINOS__UBIK_TEST == 1)
#if !(UBINOS__UBIK_TEST__EXCLUDE_SEMTESTSET == 1)
#include <stdio.h>
#define TASKWORKINGTIMEMS 500
#define TASKLOOPCOUNT 10
static void semtest00_task1func(void * arg) {
unsigned int i;
for (i=0; i<TASKLOOPCOUNT; i++) {
printf("task 1 produces one\n");
}
}
static void semtest00_task2func(void * arg) {
unsigned int i;
for (i=0; i<TASKLOOPCOUNT/2; i++) {
printf("task 2 waits\n");
printf("task 2 consumes one\n");
}
}
static void semtest00_task3func(void * arg) {
unsigned int i;
for (i=0; i<TASKLOOPCOUNT/2; i++) {
printf("task 3 waits\n");
printf("task 3 consumes one\n");
}
}
int r;
int r2;
if (0 != r) {
printf("fail at sem_create(), err=%d\n", r);
r = -1;
goto end0;
}
if (0 != r) {
printf("fail at task_create_noautodel(), err=%d\n", r);
r = -1;
goto end1;
}
if (0 != r) {
printf("fail at task_create_noautodel(), err=%d\n", r);
r = -1;
goto end2;
}
if (0 != r) {
printf("fail at task_create_noautodel(), err=%d\n", r);
r = -1;
goto end2;
}
r = 0;
end2:
if (0 != r2) {
printf("fail at task_join_and_delete(), err=%d\n", r2);
r = -1;
}
end1:
if (0 != r2) {
printf("fail at sem_delete(), err=%d\n", r2);
r = -1;
}
end0:
return r;
}
#endif
#endif
void bsp_busywait(unsigned int count)
unsigned int bsp_getbusywaitcountperms(void)
int sem_delete(sem_pt *sem_p)
int sem_create(sem_pt *sem_p)
stdlib (Standard Library) API
int task_create_noautodel(task_pt *task_p, taskfunc_ft func, void *arg, int priority, unsigned int stackdepth, const char *name)
int task_join_and_delete(task_pt *task_p, int *result_p, int count)
int task_sleep(unsigned int tick)
int task_getpriority(task_pt task)
#define NULL
Definition: type.h:42
int ubik_test_semtest00(void)
Simple semaphore example.