#include <queue.h>
データ構造 | |
struct | semaphore_initialization_block |
struct | semaphore_control_block |
struct | semaphore_waiting_information |
マクロ定義 | |
#define | SEMID(p_semcb) ((ID)(((p_semcb) - semcb_table) + TMIN_SEMID)) |
型定義 | |
typedef struct semaphore_initialization_block | SEMINIB |
typedef struct semaphore_control_block | SEMCB |
typedef struct semaphore_waiting_information | WINFO_SEM |
関数 | |
void | initialize_semaphore (void) |
変数 | |
const ID | tmax_semid |
const SEMINIB | seminib_table [] |
SEMCB | semcb_table [] |
#define SEMID | ( | p_semcb | ) | ((ID)(((p_semcb) - semcb_table) + TMIN_SEMID)) |
typedef struct semaphore_control_block SEMCB |
typedef struct semaphore_initialization_block SEMINIB |
typedef struct semaphore_waiting_information WINFO_SEM |
void initialize_semaphore | ( | void | ) |
semaphore.c の 129 行で定義されています。
参照先 semaphore_initialization_block::isemcnt, semaphore_control_block::p_seminib, queue_initialize(), semcb_table, semaphore_control_block::semcnt, seminib_table, tnum_sem, と semaphore_control_block::wait_queue.
00130 { 00131 uint_t i; 00132 SEMCB *p_semcb; 00133 00134 for (p_semcb = semcb_table, i = 0; i < tnum_sem; p_semcb++, i++) { 00135 queue_initialize(&(p_semcb->wait_queue)); 00136 p_semcb->p_seminib = &(seminib_table[i]); 00137 p_semcb->semcnt = p_semcb->p_seminib->isemcnt; 00138 } 00139 }
const SEMINIB seminib_table[] |
const ID tmax_semid |
Copyright © 2008 by Kijineko Inc.