ChibiOS 21.11.4
chthreads.c File Reference

Threads code. More...

#include "ch.h"

Go to the source code of this file.

Functions

thread_t__thd_object_init (os_instance_t *oip, thread_t *tp, const char *name, tprio_t prio)
 Initializes a thread structure.
void __thd_stackfill (uint8_t *startp, uint8_t *endp)
 Stack fill utility.
thread_tchThdCreateSuspendedI (const thread_descriptor_t *tdp)
 Creates a new thread.
thread_tchThdCreateSuspended (const thread_descriptor_t *tdp)
 Creates a new thread.
thread_tchThdCreateI (const thread_descriptor_t *tdp)
 Creates a new thread.
thread_tchThdCreate (const thread_descriptor_t *tdp)
 Creates a new thread.
thread_tchThdCreateStatic (void *wsp, size_t size, tprio_t prio, tfunc_t pf, void *arg)
 Creates a new thread.
thread_tchThdStart (thread_t *tp)
 Starts a thread created with chThdCreateSuspended().
thread_tchThdAddRef (thread_t *tp)
 Adds a reference to a thread object.
void chThdRelease (thread_t *tp)
 Releases a reference to a thread object.
void chThdExit (msg_t msg)
 Terminates the current thread.
void chThdExitS (msg_t msg)
 Terminates the current thread.
msg_t chThdWait (thread_t *tp)
 Blocks the execution of the invoking thread until the specified thread terminates then the exit code is returned.
tprio_t chThdSetPriority (tprio_t newprio)
 Changes the running thread priority level then reschedules if necessary.
void chThdTerminate (thread_t *tp)
 Requests a thread termination.
void chThdSleep (sysinterval_t time)
 Suspends the invoking thread for the specified time.
void chThdSleepUntil (systime_t time)
 Suspends the invoking thread until the system time arrives to the specified value.
systime_t chThdSleepUntilWindowed (systime_t prev, systime_t next)
 Suspends the invoking thread until the system time arrives to the specified value.
void chThdYield (void)
 Yields the time slot.
msg_t chThdSuspendS (thread_reference_t *trp)
 Sends the current thread sleeping and sets a reference variable.
msg_t chThdSuspendTimeoutS (thread_reference_t *trp, sysinterval_t timeout)
 Sends the current thread sleeping and sets a reference variable.
void chThdResumeI (thread_reference_t *trp, msg_t msg)
 Wakes up a thread waiting on a thread reference object.
void chThdResumeS (thread_reference_t *trp, msg_t msg)
 Wakes up a thread waiting on a thread reference object.
void chThdResume (thread_reference_t *trp, msg_t msg)
 Wakes up a thread waiting on a thread reference object.
msg_t chThdEnqueueTimeoutS (threads_queue_t *tqp, sysinterval_t timeout)
 Enqueues the caller thread on a threads queue object.
void chThdDequeueNextI (threads_queue_t *tqp, msg_t msg)
 Dequeues and wakes up one thread from the threads queue object, if any.
void chThdDequeueAllI (threads_queue_t *tqp, msg_t msg)
 Dequeues and wakes up all threads from the threads queue object.

Detailed Description

Threads code.

Definition in file chthreads.c.