![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "modules/core/threads.h"
#include "modules/core/threads_arch.h"
#include "stdbool.h"
#include <semaphore.h>
#include <stdlib.h>
Go to the source code of this file.
Data Structures | |
struct | stub_arg |
Functions | |
int | pprz_mtx_init (pprz_mutex_t *mtx) |
int | pprz_mtx_lock (pprz_mutex_t *mtx) |
int | pprz_mtx_trylock (pprz_mutex_t *mtx) |
Performs a nonblocking lock on the mutex. | |
int | pprz_mtx_unlock (pprz_mutex_t *mtx) |
void | pprz_bsem_init (pprz_bsem_t *bsem, bool taken) |
void | pprz_bsem_wait (pprz_bsem_t *bsem) |
void | pprz_bsem_signal (pprz_bsem_t *bsem) |
static void * | stub (void *arg) |
int | pprz_thread_create (pprz_thread_t *thread, size_t size, const char *name, uint8_t prio, void(*func)(void *), void *arg) |
Creates a new thread whose stack is dynamically allocated. | |
void | pprz_thread_exit (void *retval) |
Exit the current thread. | |
int | pprz_thread_join (pprz_thread_t *thread, void **retval) |
Wait for the thread to terminate. | |
int | pprz_thread_tryjoin (pprz_thread_t *thread, void **retval) |
Performs a nonblocking join with the thread. | |
void pprz_bsem_init | ( | pprz_bsem_t * | bsem, |
bool | taken | ||
) |
Definition at line 38 of file threads_arch.c.
References bsem, foo, pprzBSem::mtx, and pprzBSem::sem.
void pprz_bsem_signal | ( | pprz_bsem_t * | bsem | ) |
Definition at line 47 of file threads_arch.c.
References bsem, foo, pprzBSem::mtx, pprzBSem::sem, and val.
void pprz_bsem_wait | ( | pprz_bsem_t * | bsem | ) |
Definition at line 43 of file threads_arch.c.
References bsem, foo, and pprzBSem::sem.
int pprz_mtx_init | ( | pprz_mutex_t * | mtx | ) |
Definition at line 20 of file threads_arch.c.
References foo, pprzMutex::mtx, and mtx.
int pprz_mtx_lock | ( | pprz_mutex_t * | mtx | ) |
Definition at line 24 of file threads_arch.c.
References foo, pprzMutex::mtx, and mtx.
int pprz_mtx_trylock | ( | pprz_mutex_t * | mtx | ) |
Performs a nonblocking lock on the mutex.
Definition at line 28 of file threads_arch.c.
References foo, pprzMutex::mtx, and mtx.
int pprz_mtx_unlock | ( | pprz_mutex_t * | mtx | ) |
Definition at line 32 of file threads_arch.c.
References foo, pprzMutex::mtx, and mtx.
int pprz_thread_create | ( | pprz_thread_t * | thread, |
size_t | size, | ||
const char * | name, | ||
uint8_t | prio, | ||
void(*)(void *) | func, | ||
void * | arg | ||
) |
Creates a new thread whose stack is dynamically allocated.
[in] | size | size of the stack. Unused on linux at the moment. |
[in] | prio | the priority level for the new thread. Unused on linux at the moment. NORMALPRIO |
[in] | pf | the thread function |
[in] | arg | an argument passed to the thread function. It can be NULL . |
[out] | thread | pointer to a pprz_thread_t that will be writen with the handle to the thread |
@api
Definition at line 75 of file threads_arch.c.
References stub_arg::arg, foo, stub_arg::func, and stub().
Exit the current thread.
[out] | retval | The thread's return value |
Definition at line 86 of file threads_arch.c.
References foo.
int pprz_thread_join | ( | pprz_thread_t * | thread, |
void ** | retval | ||
) |
Wait for the thread to terminate.
[in] | thread | The thread to be joined |
[out] | retval | The thread's return value will be written to the variable pointed by retval |
Definition at line 90 of file threads_arch.c.
References foo.
int pprz_thread_tryjoin | ( | pprz_thread_t * | thread, |
void ** | retval | ||
) |
Performs a nonblocking join with the thread.
[in] | thread | The thread to be joined |
[out] | retval | The thread's return value will be written to the variable pointed by retval. must not be used if this fuction did not returned 0. |
Definition at line 94 of file threads_arch.c.
References foo.
Definition at line 68 of file threads_arch.c.
References stub_arg::arg, foo, and stub_arg::func.