MOS Source Code
Loading...
Searching...
No Matches
wait.h File Reference
+ Include dependency graph for wait.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  waitable_list_entry_t
 The entry in the waiters list of a process, or a thread. More...
 
struct  waitlist_t
 

Macros

#define waitlist_wake_one(list)
 
#define waitlist_wake_all(list)
 

Functions

__BEGIN_DECLS void waitlist_init (waitlist_t *list)
 
__nodiscard bool waitlist_append (waitlist_t *list)
 
size_t waitlist_wake (waitlist_t *list, size_t max_wakeups)
 
void waitlist_close (waitlist_t *list)
 
void waitlist_remove_me (waitlist_t *waitlist)
 

Variables

slab_twaitlist_slab
 

Macro Definition Documentation

◆ waitlist_wake_one

#define waitlist_wake_one ( list)
Value:
waitlist_wake(list, 1)
size_t waitlist_wake(waitlist_t *list, size_t max_wakeups)
Definition wait.c:45

Definition at line 39 of file wait.h.

◆ waitlist_wake_all

#define waitlist_wake_all ( list)
Value:
waitlist_wake(list, SIZE_MAX)

Definition at line 40 of file wait.h.

Referenced by ipc_server_accept(), ipc_server_close(), and ipc_server_create().

Function Documentation

◆ waitlist_init()

__BEGIN_DECLS void waitlist_init ( waitlist_t * list)

Definition at line 23 of file wait.c.

Referenced by console_register(), futex_wait(), ipc_connect_to_server(), ipc_server_close(), ipc_server_create(), pipe_create(), process_allocate(), process_do_fork(), and thread_allocate().

+ Here is the call graph for this function:

◆ waitlist_append()

__nodiscard bool waitlist_append ( waitlist_t * list)

Definition at line 29 of file wait.c.

Referenced by ipc_connect_to_server(), ipc_server_accept(), and reschedule_for_waitlist().

+ Here is the call graph for this function:

◆ waitlist_wake()

size_t waitlist_wake ( waitlist_t * list,
size_t max_wakeups )

Definition at line 45 of file wait.c.

Referenced by console_putc(), futex_wake(), ipc_connect_to_server(), pipe_close_one_end(), pipe_read(), pipe_write(), process_exit(), and thread_exit_locked().

+ Here is the call graph for this function:

◆ waitlist_close()

void waitlist_close ( waitlist_t * list)

Definition at line 76 of file wait.c.

Referenced by ipc_server_close(), ipc_server_create(), and thread_exit_locked().

◆ waitlist_remove_me()

void waitlist_remove_me ( waitlist_t * waitlist)

Definition at line 86 of file wait.c.

Referenced by ipc_server_accept(), and process_wait_for_pid().

Variable Documentation

◆ waitlist_slab

slab_t* waitlist_slab
extern

Definition at line 17 of file wait.c.

Referenced by ipc_connect_to_server().