py/mpthread.h: Use strong type for mp_thread_set_state() argument.
This modifies the signature of mp_thread_set_state() to use mp_state_thread_t* instead of void*. This matches the return type of mp_thread_get_state(), which returns the same value. `struct _mp_state_thread_t;` had to be moved before `#include <mpthreadport.h>` since the stm32 port uses it in its mpthreadport.h file.
This commit is contained in:
parent
a542c6d7e0
commit
b72cb0ca1b
@ -85,7 +85,7 @@ mp_state_thread_t *mp_thread_get_state(void) {
|
||||
return pvTaskGetThreadLocalStoragePointer(NULL, 0);
|
||||
}
|
||||
|
||||
void mp_thread_set_state(void *state) {
|
||||
void mp_thread_set_state(mp_state_thread_t *state) {
|
||||
vTaskSetThreadLocalStoragePointer(NULL, 0, state);
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ mp_state_thread_t *mp_thread_get_state(void) {
|
||||
return pvTaskGetThreadLocalStoragePointer(NULL, 1);
|
||||
}
|
||||
|
||||
void mp_thread_set_state(void *state) {
|
||||
void mp_thread_set_state(mp_state_thread_t *state) {
|
||||
vTaskSetThreadLocalStoragePointer(NULL, 1, state);
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ typedef pyb_mutex_t mp_thread_mutex_t;
|
||||
void mp_thread_init(void);
|
||||
void mp_thread_gc_others(void);
|
||||
|
||||
static inline void mp_thread_set_state(void *state) {
|
||||
static inline void mp_thread_set_state(struct _mp_state_thread_t *state) {
|
||||
pyb_thread_set_local(state);
|
||||
}
|
||||
|
||||
|
@ -158,7 +158,7 @@ mp_state_thread_t *mp_thread_get_state(void) {
|
||||
return (mp_state_thread_t*)pthread_getspecific(tls_key);
|
||||
}
|
||||
|
||||
void mp_thread_set_state(void *state) {
|
||||
void mp_thread_set_state(mp_state_thread_t *state) {
|
||||
pthread_setspecific(tls_key, state);
|
||||
}
|
||||
|
||||
|
@ -30,16 +30,16 @@
|
||||
|
||||
#if MICROPY_PY_THREAD
|
||||
|
||||
struct _mp_state_thread_t;
|
||||
|
||||
#ifdef MICROPY_MPTHREADPORT_H
|
||||
#include MICROPY_MPTHREADPORT_H
|
||||
#else
|
||||
#include <mpthreadport.h>
|
||||
#endif
|
||||
|
||||
struct _mp_state_thread_t;
|
||||
|
||||
struct _mp_state_thread_t *mp_thread_get_state(void);
|
||||
void mp_thread_set_state(void *state);
|
||||
void mp_thread_set_state(struct _mp_state_thread_t *state);
|
||||
void mp_thread_create(void *(*entry)(void*), void *arg, size_t *stack_size);
|
||||
void mp_thread_start(void);
|
||||
void mp_thread_finish(void);
|
||||
|
Loading…
Reference in New Issue
Block a user