CMGDK r49-rc2
|
00001 00002 00003 # i f n d e f _ w q u e u e _ h 00004 00005 # d e f i n e _ w q u e u e _ h 00006 00007 # i n c l u d e < m y _ g l o b a l . h > 00008 00009 # i n c l u d e < m y _ p t h r e a d . h > 00010 00011 / * i n f o a b o u t r e q u e s t s i n a w a i t i n g q u e u e * / 00012 00013 t y p e d e f s t r u c t s t _ p a g e c a c h e _ w q u e u e 00014 00015 { 00016 00017 s t r u c t s t _ m y _ t h r e a d _ v a r * l a s t _ t h r e a d ; / * c i r c u l a r l i s t o f w a i t i n g 00018 00019 t h r e a d s * / 00020 00021 } W Q U E U E ; 00022 00023 # i f d e f T H R E A D 00024 00025 v o i d w q u e u e _ l i n k _ i n t o _ q u e u e ( W Q U E U E * w q u e u e , s t r u c t s t _ m y _ t h r e a d _ v a r * t h r e a d ) ; 00026 00027 v o i d w q u e u e _ u n l i n k _ f r o m _ q u e u e ( W Q U E U E * w q u e u e , s t r u c t s t _ m y _ t h r e a d _ v a r * t h r e a d ) ; 00028 00029 v o i d w q u e u e _ a d d _ t o _ q u e u e ( W Q U E U E * w q u e u e , s t r u c t s t _ m y _ t h r e a d _ v a r * t h r e a d ) ; 00030 00031 v o i d w q u e u e _ a d d _ a n d _ w a i t ( W Q U E U E * w q u e u e , 00032 00033 s t r u c t s t _ m y _ t h r e a d _ v a r * t h r e a d , 00034 00035 p t h r e a d _ m u t e x _ t * l o c k ) ; 00036 00037 v o i d w q u e u e _ r e l e a s e _ q u e u e ( W Q U E U E * w q u e u e ) ; 00038 00039 v o i d w q u e u e _ r e l e a s e _ o n e _ l o c k t y p e _ f r o m _ q u e u e ( W Q U E U E * w q u e u e ) ; 00040 00041 # e n d i f 00042 00043 # e n d i f 00044 00045