| データ構造 | |
| struct | queue | 
| 型定義 | |
| typedef struct queue | QUEUE | 
| 関数 | |
| Inline void | queue_initialize (QUEUE *p_queue) | 
| Inline void | queue_insert_prev (QUEUE *p_queue, QUEUE *p_entry) | 
| Inline void | queue_delete (QUEUE *p_entry) | 
| Inline QUEUE * | queue_delete_next (QUEUE *p_queue) | 
| Inline bool_t | queue_empty (QUEUE *p_queue) | 
| Inline void queue_delete | ( | QUEUE * | p_entry | ) | 
参照先 queue::p_next, と queue::p_prev.
参照元 change_priority(), iset_flg(), make_non_runnable(), set_flg(), wait_dequeue_wobj(), と wobj_change_priority().
00101 { 00102 p_entry->p_prev->p_next = p_entry->p_next; 00103 p_entry->p_next->p_prev = p_entry->p_prev; 00104 }
参照先 assert, queue::p_next, と queue::p_prev.
参照元 force_send_data(), init_wait_queue(), isig_sem(), receive_data(), receive_pridata(), rel_mpf(), rotate_ready_queue(), send_data(), send_pridata(), sig_sem(), と snd_mbx().
00116 { 00117 QUEUE *p_entry; 00118 00119 assert(p_queue->p_next != p_queue); 00120 p_entry = p_queue->p_next; 00121 p_queue->p_next = p_entry->p_next; 00122 p_entry->p_next->p_prev = p_queue; 00123 return(p_entry); 00124 }
参照先 assert, queue::p_next, と queue::p_prev.
参照元 change_priority(), force_send_data(), init_wait_queue(), isig_sem(), make_non_runnable(), pol_flg(), receive_data(), receive_pridata(), rel_mpf(), rotate_ready_queue(), send_data(), send_pridata(), sig_sem(), snd_mbx(), twai_flg(), wai_flg(), と wait_tskid().
00133 { 00134 if (p_queue->p_next == p_queue) { 00135 assert(p_queue->p_prev == p_queue); 00136 return(true); 00137 } 00138 return(false); 00139 }
| Inline void queue_initialize | ( | QUEUE * | p_queue | ) | 
参照先 queue::p_next, と queue::p_prev.
参照元 change_priority(), make_runnable(), queue_insert_tpri(), rcv_dtq(), rcv_pdq(), rotate_ready_queue(), trcv_dtq(), trcv_pdq(), と wobj_queue_insert().
00087 { 00088 p_entry->p_prev = p_queue->p_prev; 00089 p_entry->p_next = p_queue; 00090 p_queue->p_prev->p_next = p_entry; 00091 p_queue->p_prev = p_entry; 00092 }
Copyright © 2008 by Kijineko Inc.