tests: adapt semaphore test application

This commit is contained in:
Martine Lenders 2015-08-04 19:34:33 +02:00 committed by Martine Lenders
parent de421cdf78
commit ae65746d59

View File

@ -23,18 +23,23 @@
#include <stdio.h> #include <stdio.h>
#include "msg.h"
#include "thread.h" #include "thread.h"
#include "semaphore.h" #include "semaphore.h"
#define SEMAPHORE_TEST_THREADS 5 #define SEMAPHORE_MSG_QUEUE_SIZE (8)
char test1_thread_stack[THREAD_STACKSIZE_MAIN]; #define SEMAPHORE_TEST_THREADS (5)
char test2_thread_stack[SEMAPHORE_TEST_THREADS][THREAD_STACKSIZE_MAIN]; static char test1_thread_stack[THREAD_STACKSIZE_MAIN];
static char test2_thread_stack[SEMAPHORE_TEST_THREADS][THREAD_STACKSIZE_MAIN];
static msg_t main_msg_queue[SEMAPHORE_MSG_QUEUE_SIZE];
static msg_t test1_msg_queue[SEMAPHORE_MSG_QUEUE_SIZE];
sem_t s; static sem_t s;
static void *test1_second_thread(void *arg) static void *test1_second_thread(void *arg)
{ {
(void) arg; (void) arg;
msg_init_queue(test1_msg_queue, SEMAPHORE_MSG_QUEUE_SIZE);
puts("second: sem_trywait"); puts("second: sem_trywait");
if (sem_trywait(&s) == 0) { if (sem_trywait(&s) == 0) {
@ -120,6 +125,8 @@ static void test1(void)
static void *priority_sema_thread(void *name) static void *priority_sema_thread(void *name)
{ {
msg_t msg_queue[SEMAPHORE_MSG_QUEUE_SIZE];
msg_init_queue(msg_queue, SEMAPHORE_MSG_QUEUE_SIZE);
sem_wait(&s); sem_wait(&s);
printf("Thread '%s' woke up.\n", (const char *) name); printf("Thread '%s' woke up.\n", (const char *) name);
return NULL; return NULL;
@ -165,6 +172,7 @@ void test2(void)
int main(void) int main(void)
{ {
msg_init_queue(main_msg_queue, SEMAPHORE_MSG_QUEUE_SIZE);
puts("######################### TEST1:"); puts("######################### TEST1:");
test1(); test1();
puts("######################### TEST2:"); puts("######################### TEST2:");