![]() |
CMGDK r49-rc2
|
00001 / * C o p y r i g h t ( C ) 2 0 0 0 M y S Q L A B 00002 00003 T h i s p r o g r a m i s f r e e s o f t w a r e ; y o u c a n r e d i s t r i b u t e i t a n d / o r m o d i f y 00004 00005 i t u n d e r t h e t e r m s o f t h e G N U G e n e r a l P u b l i c L i c e n s e a s p u b l i s h e d b y 00006 00007 t h e F r e e S o f t w a r e F o u n d a t i o n ; v e r s i o n 2 o f t h e L i c e n s e . 00008 00009 T h i s p r o g r a m i s d i s t r i b u t e d i n t h e h o p e t h a t i t w i l l b e u s e f u l , 00010 00011 b u t W I T H O U T A N Y W A R R A N T Y ; w i t h o u t e v e n t h e i m p l i e d w a r r a n t y o f 00012 00013 M E R C H A N T A B I L I T Y o r F I T N E S S F O R A P A R T I C U L A R P U R P O S E . S e e t h e 00014 00015 G N U G e n e r a l P u b l i c L i c e n s e f o r m o r e d e t a i l s . 00016 00017 Y o u s h o u l d h a v e r e c e i v e d a c o p y o f t h e G N U G e n e r a l P u b l i c L i c e n s e 00018 00019 a l o n g w i t h t h i s p r o g r a m ; i f n o t , w r i t e t o t h e F r e e S o f t w a r e 00020 00021 F o u n d a t i o n , I n c . , 5 9 T e m p l e P l a c e , S u i t e 3 3 0 , B o s t o n , M A 0 2 1 1 1 - 1 3 0 7 U S A * / 00022 00023 00024 00025 # i f ! d e f i n e d ( _ m y _ n o _ p t h r e a d _ h ) & & ! d e f i n e d ( T H R E A D ) 00026 00027 # d e f i n e _ m y _ n o _ p t h r e a d _ h 00028 00029 00030 00031 / * 00032 00033 T h i s b l o c k i s t o a c c e s s s o m e t h r e a d - r e l a t e d t y p e d e f i n i t i o n s 00034 00035 e v e n i n b u i l d s w h i c h d o n o t n e e d t h r e a d f u n c t i o n s , 00036 00037 a s s o m e v a r i a b l e s ( b a s e d o n t h e s e t y p e s ) a r e d e c l a r e d 00038 00039 e v e n i n n o n - t h r e a d e d b u i l d s . 00040 00041 C a s e i n p o i n t : ' m f _ k e y c a c h e . c ' 00042 00043 * / 00044 00045 # i f d e f i n e d ( _ _ W I N _ _ ) 00046 00047 # e l s e / * N o r m a l t h r e a d s * / 00048 00049 # i n c l u d e < p t h r e a d . h > 00050 00051 # e n d i f / * d e f i n e d ( _ _ W I N _ _ ) * / 00052 00053 00054 00055 / * 00056 00057 T h i s u n d e f s s o m e p t h r e a d m u t e x l o c k s w h e n o n e i s n ' t u s i n g t h r e a d s 00058 00059 t o m a k e t h r e a d s a f e c o d e , t h a t s h o u l d a l s o w o r k i n s i n g l e t h r e a d 00060 00061 e n v i r o n m e n t , e a s i e r t o u s e . 00062 00063 * / 00064 00065 # d e f i n e p t h r e a d _ m u t e x _ i n i t ( A , B ) 00066 00067 # d e f i n e p t h r e a d _ m u t e x _ l o c k ( A ) 00068 00069 # d e f i n e p t h r e a d _ m u t e x _ u n l o c k ( A ) 00070 00071 # d e f i n e p t h r e a d _ m u t e x _ d e s t r o y ( A ) 00072 00073 # d e f i n e m y _ r w l o c k _ i n i t ( A , B ) 00074 00075 # d e f i n e r w _ r d l o c k ( A ) 00076 00077 # d e f i n e r w _ w r l o c k ( A ) 00078 00079 # d e f i n e r w _ u n l o c k ( A ) 00080 00081 # d e f i n e r w l o c k _ d e s t r o y ( A ) 00082 00083 # e n d i f 00084 00085