CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/thr_alarm.h
浏览该文件的文档。
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  / *   P r o t o t y p e s   w h e n   u s i n g   t h r _ a l a r m   l i b r a r y   f u n c t i o n s   * / 
00024  
00025  # i f n d e f   _ t h r _ a l a r m _ h 
00026  
00027  # d e f i n e   _ t h r _ a l a r m _ h 
00028  
00029  # i f d e f     _ _ c p l u s p l u s 
00030  
00031  e x t e r n   " C "   { 
00032  
00033  # e n d i f 
00034  
00035  # i f n d e f   U S E _ A L A R M _ T H R E A D 
00036  
00037  # d e f i n e   U S E _ O N E _ S I G N A L _ H A N D       / *   O n e   m u s t   c a l l   p r o c e s s _ a l a r m   * / 
00038  
00039  # e n d i f 
00040  
00041  # i f d e f   H A V E _ r t s _ t h r e a d s 
00042  
00043  # u n d e f   U S E _ O N E _ S I G N A L _ H A N D 
00044  
00045  # d e f i n e   U S E _ A L A R M _ T H R E A D 
00046  
00047  # d e f i n e   T H R _ S E R V E R _ A L A R M   S I G U S R 1 
00048  
00049  # e l s e 
00050  
00051  # d e f i n e   T H R _ S E R V E R _ A L A R M   S I G A L R M 
00052  
00053  # e n d i f 
00054  
00055  t y p e d e f   s t r u c t   s t _ a l a r m _ i n f o 
00056  
00057  { 
00058  
00059      u l o n g   n e x t _ a l a r m _ t i m e ; 
00060  
00061      u i n t   a c t i v e _ a l a r m s ; 
00062  
00063      u i n t   m a x _ u s e d _ a l a r m s ; 
00064  
00065  }   A L A R M _ I N F O ; 
00066  
00067  v o i d   t h r _ a l a r m _ i n f o ( A L A R M _ I N F O   * i n f o ) ; 
00068  
00069  # i f   d e f i n e d ( D O N T _ U S E _ T H R _ A L A R M )   | |   ! d e f i n e d ( T H R E A D ) 
00070  
00071  # d e f i n e   U S E _ A L A R M _ T H R E A D 
00072  
00073  # u n d e f   U S E _ O N E _ S I G N A L _ H A N D 
00074  
00075  t y p e d e f   m y _ b o o l   t h r _ a l a r m _ t ; 
00076  
00077  t y p e d e f   m y _ b o o l   A L A R M ; 
00078  
00079  # d e f i n e   t h r _ a l a r m _ i n i t ( A )   ( * ( A ) ) = 0 
00080  
00081  # d e f i n e   t h r _ a l a r m _ i n _ u s e ( A )   ( * ( A )   ! =   0 ) 
00082  
00083  # d e f i n e   t h r _ e n d _ a l a r m ( A ) 
00084  
00085  # d e f i n e   t h r _ a l a r m ( A , B , C )   ( ( * ( A ) = 1 ) - 1 ) 
00086  
00087  / *   T h e   f o l l o w i n g   s h o u l d   m a y b e   b e   ( * ( A ) )   * / 
00088  
00089  # d e f i n e   t h r _ g o t _ a l a r m ( A )   0 
00090  
00091  # d e f i n e   i n i t _ t h r _ a l a r m ( A ) 
00092  
00093  # d e f i n e   t h r _ a l a r m _ k i l l ( A ) 
00094  
00095  # d e f i n e   r e s i z e _ t h r _ a l a r m ( N ) 
00096  
00097  # d e f i n e   e n d _ t h r _ a l a r m ( A ) 
00098  
00099  # e l s e 
00100  
00101  # i f   d e f i n e d ( _ _ W I N _ _ ) 
00102  
00103  t y p e d e f   s t r u c t   s t _ t h r _ a l a r m _ e n t r y 
00104  
00105  { 
00106  
00107      r f _ S e t T i m e r   c r o n o ; 
00108  
00109  }   t h r _ a l a r m _ e n t r y ; 
00110  
00111  # e l s e   / *   S y s t e m   w i t h   p o s i x   t h r e a d s   * / 
00112  
00113  t y p e d e f   i n t   t h r _ a l a r m _ e n t r y ; 
00114  
00115  # d e f i n e   t h r _ g o t _ a l a r m ( t h r _ a l a r m )   ( * * ( t h r _ a l a r m ) ) 
00116  
00117  # e n d i f   / *   _ _ W I N _ _   * / 
00118  
00119  t y p e d e f   t h r _ a l a r m _ e n t r y *   t h r _ a l a r m _ t ; 
00120  
00121  t y p e d e f   s t r u c t   s t _ a l a r m   { 
00122  
00123      u l o n g   e x p i r e _ t i m e ; 
00124  
00125      t h r _ a l a r m _ e n t r y   a l a r m e d ;         / *   s e t   w h e n   a l a r m   i s   d u e   * / 
00126  
00127      p t h r e a d _ t   t h r e a d ; 
00128  
00129      m y _ t h r e a d _ i d   t h r e a d _ i d ; 
00130  
00131      m y _ b o o l   m a l l o c e d ; 
00132  
00133  }   A L A R M ; 
00134  
00135  e x t e r n   u i n t   t h r _ c l i e n t _ a l a r m ; 
00136  
00137  e x t e r n   p t h r e a d _ t   a l a r m _ t h r e a d ; 
00138  
00139  # d e f i n e   t h r _ a l a r m _ i n i t ( A )   ( * ( A ) ) = 0 
00140  
00141  # d e f i n e   t h r _ a l a r m _ i n _ u s e ( A )   ( * ( A ) ! =   0 ) 
00142  
00143  v o i d   i n i t _ t h r _ a l a r m ( u i n t   m a x _ a l a r m ) ; 
00144  
00145  v o i d   r e s i z e _ t h r _ a l a r m ( u i n t   m a x _ a l a r m s ) ; 
00146  
00147  m y _ b o o l   t h r _ a l a r m ( t h r _ a l a r m _ t   * a l a r m e d ,   u i n t   s e c ,   A L A R M   * b u f f ) ; 
00148  
00149  v o i d   t h r _ a l a r m _ k i l l ( m y _ t h r e a d _ i d   t h r e a d _ i d ) ; 
00150  
00151  v o i d   t h r _ e n d _ a l a r m ( t h r _ a l a r m _ t   * a l a r m e d ) ; 
00152  
00153  v o i d   e n d _ t h r _ a l a r m ( m y _ b o o l   f r e e _ s t r u c t u r e s ) ; 
00154  
00155  s i g _ h a n d l e r   p r o c e s s _ a l a r m ( i n t ) ; 
00156  
00157  # i f n d e f   t h r _ g o t _ a l a r m 
00158  
00159  m y _ b o o l   t h r _ g o t _ a l a r m ( t h r _ a l a r m _ t   * a l r m ) ; 
00160  
00161  # e n d i f 
00162  
00163  
00164  
00165  # e n d i f   / *   D O N T _ U S E _ T H R _ A L A R M   * / 
00166  
00167  # i f d e f     _ _ c p l u s p l u s 
00168  
00169  } 
00170  
00171  # e n d i f   / *   _ _ c p l u s p l u s   * / 
00172  
00173  # e n d i f   / *   _ t h r _ a l a r m _ h   * / 
00174  
00175  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义