550W Document
550W, a high-end OS
sync.c 文件参考
#include <lib/math.h>
#include <lib/string.h>
#include <os/lock.h>
#include <os/pcb.h>
#include <os/sync.h>
sync.c 的引用(Include)关系图:

函数

int k_commop (void *key_id, void *arg, int op)
 
int k_semaphore_init (int *key, int sem)
 
int k_semaphore_p (int key)
 
int k_semaphore_v (int key)
 
int k_semaphore_destroy (int *key)
 
int k_cond_init (int *key)
 
int k_cond_wait (int key)
 
int k_cond_signal (int key)
 
int k_cond_broadcast (int key)
 
int k_cond_destroy (int *key)
 
int k_barrier_init (int *key, int total)
 
int k_barrier_wait (int key)
 
int k_barrier_destroy (int *key)
 
int k_mbox_open (int id_1, int id_2)
 
int k_mbox_close (int mbox_id)
 
int k_mbox_send (int key, mbox_t *target, mbox_arg_t *arg)
 
int k_mbox_recv (int key, mbox_t *target, mbox_arg_t *arg)
 
int k_mbox_try_send (int key, mbox_arg_t *arg)
 
int k_mbox_try_recv (int key, mbox_arg_t *arg)
 
void k_pcb_mbox_init (pcb_mbox_t *target, int owner_id)
 
int sys_mailread (void *buf, int len)
 
int sys_mailwrite (int pid, void *buf, int len)
 

变量

int sem_first_time = 1
 
int cond_first_time = 1
 
int barrier_first_time = 1
 
int mbox_first_time = 1
 
Semaphore_tsem_list [COMM_NUM]
 
cond_tcond_list [COMM_NUM]
 
barrier_tbarrier_list [COMM_NUM]
 
mbox_tmbox_list [COMM_NUM]
 
pcb_mbox_t pcb_mbox [NUM_MAX_PROCESS]
 

函数说明

◆ k_barrier_destroy()

int k_barrier_destroy ( int *  key)

◆ k_barrier_init()

int k_barrier_init ( int *  key,
int  total 
)

◆ k_barrier_wait()

int k_barrier_wait ( int  key)

◆ k_commop()

int k_commop ( void *  key_id,
void *  arg,
int  op 
)

◆ k_cond_broadcast()

int k_cond_broadcast ( int  key)

◆ k_cond_destroy()

int k_cond_destroy ( int *  key)

◆ k_cond_init()

int k_cond_init ( int *  key)

◆ k_cond_signal()

int k_cond_signal ( int  key)

◆ k_cond_wait()

int k_cond_wait ( int  key)

◆ k_mbox_close()

int k_mbox_close ( int  mbox_id)

◆ k_mbox_open()

int k_mbox_open ( int  id_1,
int  id_2 
)

◆ k_mbox_recv()

int k_mbox_recv ( int  key,
mbox_t target,
mbox_arg_t arg 
)

◆ k_mbox_send()

int k_mbox_send ( int  key,
mbox_t target,
mbox_arg_t arg 
)

◆ k_mbox_try_recv()

int k_mbox_try_recv ( int  key,
mbox_arg_t arg 
)

◆ k_mbox_try_send()

int k_mbox_try_send ( int  key,
mbox_arg_t arg 
)

◆ k_pcb_mbox_init()

void k_pcb_mbox_init ( pcb_mbox_t target,
int  owner_id 
)

◆ k_semaphore_destroy()

int k_semaphore_destroy ( int *  key)

◆ k_semaphore_init()

int k_semaphore_init ( int *  key,
int  sem 
)

◆ k_semaphore_p()

int k_semaphore_p ( int  key)

◆ k_semaphore_v()

int k_semaphore_v ( int  key)

◆ sys_mailread()

int sys_mailread ( void *  buf,
int  len 
)

◆ sys_mailwrite()

int sys_mailwrite ( int  pid,
void *  buf,
int  len 
)

变量说明

◆ barrier_first_time

int barrier_first_time = 1

◆ barrier_list

barrier_t* barrier_list[COMM_NUM]

◆ cond_first_time

int cond_first_time = 1

◆ cond_list

cond_t* cond_list[COMM_NUM]

◆ mbox_first_time

int mbox_first_time = 1

◆ mbox_list

mbox_t* mbox_list[COMM_NUM]

◆ pcb_mbox

◆ sem_first_time

int sem_first_time = 1

◆ sem_list

Semaphore_t* sem_list[COMM_NUM]