mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
sys/test_utils/dummy_thread: initial commit
This commit adds a module that just creates a thread that does nothing, at boot time, in auto_init().
This commit is contained in:
parent
cb11b2d33f
commit
825ffddbf9
@ -31,6 +31,9 @@ endif
|
|||||||
ifneq (,$(filter test_utils_interactive_sync,$(USEMODULE)))
|
ifneq (,$(filter test_utils_interactive_sync,$(USEMODULE)))
|
||||||
DIRS += test_utils/interactive_sync
|
DIRS += test_utils/interactive_sync
|
||||||
endif
|
endif
|
||||||
|
ifneq (,$(filter dummy_thread,$(USEMODULE)))
|
||||||
|
DIRS += test_utils/dummy_thread
|
||||||
|
endif
|
||||||
ifneq (,$(filter net_help,$(USEMODULE)))
|
ifneq (,$(filter net_help,$(USEMODULE)))
|
||||||
DIRS += net/crosslayer/net_help
|
DIRS += net/crosslayer/net_help
|
||||||
endif
|
endif
|
||||||
|
@ -49,6 +49,10 @@ void auto_init(void)
|
|||||||
extern void init_schedstatistics(void);
|
extern void init_schedstatistics(void);
|
||||||
init_schedstatistics();
|
init_schedstatistics();
|
||||||
}
|
}
|
||||||
|
if (IS_USED(MODULE_DUMMY_THREAD)) {
|
||||||
|
extern void dummy_thread_create(void);
|
||||||
|
dummy_thread_create();
|
||||||
|
}
|
||||||
if (IS_USED(MODULE_EVENT_THREAD)) {
|
if (IS_USED(MODULE_EVENT_THREAD)) {
|
||||||
LOG_DEBUG("Auto init event threads.\n");
|
LOG_DEBUG("Auto init event threads.\n");
|
||||||
extern void auto_init_event_thread(void);
|
extern void auto_init_event_thread(void);
|
||||||
|
1
sys/test_utils/dummy_thread/Makefile
Normal file
1
sys/test_utils/dummy_thread/Makefile
Normal file
@ -0,0 +1 @@
|
|||||||
|
include $(RIOTBASE)/Makefile.base
|
57
sys/test_utils/dummy_thread/dummy_thread.c
Normal file
57
sys/test_utils/dummy_thread/dummy_thread.c
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2020 Kaspar Schleiser <kaspar@schleiser.de>
|
||||||
|
* Freie Universität Berlin
|
||||||
|
* Inria
|
||||||
|
*
|
||||||
|
* This file is subject to the terms and conditions of the GNU Lesser
|
||||||
|
* General Public License v2.1. See the file LICENSE in the top level
|
||||||
|
* directory for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup sys
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* @file
|
||||||
|
* @brief Module creating a dummy thread
|
||||||
|
*
|
||||||
|
* This module can be used to mess up the number of threads a bit, e.g., for
|
||||||
|
* testing test scripts.
|
||||||
|
*
|
||||||
|
* This module can be used by manually adding it to the command line when
|
||||||
|
* building, e.g.,
|
||||||
|
*
|
||||||
|
* USEMODULE+=dummy_thread make -C tests/rmutex
|
||||||
|
* make -C tests/rmutex test
|
||||||
|
*
|
||||||
|
* Note how the output of the test changes compared to a build without
|
||||||
|
* dummy_thread.
|
||||||
|
*
|
||||||
|
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
||||||
|
*
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "thread.h"
|
||||||
|
|
||||||
|
static char _dummy_stack[THREAD_STACKSIZE_IDLE];
|
||||||
|
|
||||||
|
static void *_dummy_thread(void *arg)
|
||||||
|
{
|
||||||
|
(void)arg;
|
||||||
|
while (1) {
|
||||||
|
thread_sleep();
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void dummy_thread_create(void)
|
||||||
|
{
|
||||||
|
thread_create(_dummy_stack, sizeof(_dummy_stack),
|
||||||
|
THREAD_PRIORITY_IDLE,
|
||||||
|
THREAD_CREATE_WOUT_YIELD \
|
||||||
|
| THREAD_CREATE_STACKTEST \
|
||||||
|
| THREAD_CREATE_SLEEPING,
|
||||||
|
_dummy_thread, NULL, "dummy");
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user