$ od -c -N 50000 [_CDCSL_93-16_]<1>Cedar>release>PCRInterface>xr>ThreadsDynamicEnvironment.h 0000000 / * b e g i n c o p y r i g h 0000020 t \n C o p y r i g h t ( c 0000040 ) 1 9 8 8 X e r o x C o r 0000060 p o r a t i o n . A l l r i 0000100 g h t s r e s e r v e d . \n 0000120 U s e a n d c o p y i n g 0000140 o f t h i s s o f t w a r 0000160 e a n d p r e p a r a t i o 0000200 n o f d e r i v a t i v e 0000220 w o r k s b a s e d \n u p 0000240 o n t h i s s o f t w a r e 0000260 a r e p e r m i t t e d . 0000300 A n y d i s t r i b u t i o n 0000320 o f t h i s s o f t w a r 0000340 e o r \n d e r i v a t i v 0000360 e w o r k s m u s t c o m 0000400 p l y w i t h a l l a p p 0000420 l i c a b l e U n i t e d S 0000440 t a t e s e x p o r t \n c 0000460 o n t r o l l a w s . T h i 0000500 s s o f t w a r e i s m a 0000520 d e a v a i l a b l e A S 0000540 I S , a n d X e r o x C o 0000560 r p o r a t i o n \n m a k e 0000600 s n o w a r r a n t y a b 0000620 o u t t h e s o f t w a r e 0000640 , i t s p e r f o r m a n c 0000660 e o r i t s c o n f o r m 0000700 i t y t o \n a n y s p e 0000720 c i f i c a t i o n . A n y 0000740 p e r s o n o b t a i n i n g 0000760 a c o p y o f t h i s 0001000 s o f t w a r e i s r e q u 0001020 e s t e d \n t o s e n d 0001040 t h e i r n a m e a n d p 0001060 o s t o f f i c e o r e l 0001100 e c t r o n i c m a i l a d 0001120 d r e s s t o : \n P C 0001140 R C o o r d i n a t o r \n 0001160 X e r o x P A R C \n 0001200 3 3 3 3 C o y o t e H i l 0001220 l R d . \n P a l o A 0001240 l t o , C A 9 4 3 0 4 \n 0001260 e n d c o p y r i g h t * / \n 0001300 / * \n * T h r e a d s D y n 0001320 a m i c E n v i r o n m e n t . 0001340 h \n * C o p y r i g h t 323 0001360 1 9 9 0 b y X e r o x C 0001400 o r p o r a t i o n . A l l 0001420 r i g h t s r e s e r v e d 0001440 . \n * L a s t c h a n g e 0001460 d b y P a v e l o n M a 0001500 y 2 4 , 1 9 9 0 6 : 2 0 : 0001520 5 9 p m P D T \n * \n * 0001540 E d i t e d b y D e m e r s 0001560 , J u n e 2 2 , 1 9 9 0 0001600 1 : 2 3 : 1 5 p m P D T \n 0001620 * / \n \n # i f n d e f _ X R _ 0001640 T H R E A D S _ D Y N A M I C _ 0001660 E N V I R O N M E N T _ \n # d e 0001700 f i n e _ X R _ T H R E A D S 0001720 _ D Y N A M I C _ E N V I R O N 0001740 M E N T _ 1 \n \n \n # i f n d e 0001760 f _ X R _ B A S I C _ T Y P E 0002000 S _ \n # i n c l u d e " 0002020 B a s i c T y p e s . h " \n # e 0002040 n d i f \n \n # i f n d e f _ X 0002060 R _ T H R E A D S _ I N L I N E 0002100 S _ \n # i n c l u d e " 0002120 T h r e a d s I n l i n e s . h 0002140 " \n # e n d i f \n \n t y p e d e 0002160 f s t r u c t X R _ D y n F 0002200 r a m e R e p { \n s t 0002220 r u c t X R _ D y n F r a m e 0002240 R e p * d f _ l i n k ; \n 0002260 X R _ P o i n t e r d f _ 0002300 k e y ; \n X R _ P o i n 0002320 t e r d f _ d a t a [ 1 ] ; \n 0002340 } * X R _ D y n F r a m e ; \n 0002360 \n e x t e r n X R _ D y n F r 0002400 a m e \n X R _ G e t D y n a m i 0002420 c E n v i r o n m e n t ( ) ; \n 0002440 / * \n \t R e t u r n s t h e 0002460 c u r r e n t d y n a m i c 0002500 e n v i r o n m e n t o f t 0002520 h e c u r r e n t t h r e a 0002540 d . \n * / \n # i f X R _ G E T 0002560 _ D Y N A M I C _ E N V I R O N 0002600 M E N T \n # d e f i n e 0002620 X R _ G e t D y n a m i c E n 0002640 v i r o n m e n t ( ) \t ( ( X R 0002660 _ D y n F r a m e ) ( X R _ c u 0002700 r r T h r e a d - > t _ d y n E 0002720 n v ) ) \n # e n d i f \n \n e x t 0002740 e r n v o i d \n X R _ S e t D 0002760 y n a m i c E n v i r o n m e n 0003000 t ( / * X R _ D y n F r a m e 0003020 d f * / ) ; \n / * \n \t S e t 0003040 s t h e d y n a m i c e n 0003060 v i r o n m e n t o f t h e 0003100 c u r r e n t t h r e a d 0003120 t o d f . \n * / \n # i f X R 0003140 _ S E T _ D Y N A M I C _ E N V 0003160 I R O N M E N T \n # d e 0003200 f i n e X R _ S e t D y n a m 0003220 i c E n v i r o n m e n t ( d f 0003240 ) \ \n \t X R _ c u r r T h r e 0003260 a d - > t _ d y n E n v = ( 0003300 ( X R _ P o i n t e r ) ( d f ) 0003320 ) \n # e n d i f \n \n e x t e r n 0003340 X R _ D y n F r a m e \n X R _ 0003360 L o o k u p I n D y n a m i c E 0003400 n v i r o n m e n t ( / * X R 0003420 _ P o i n t e r k e y , X R 0003440 _ D y n F r a m e d e * / ) 0003460 ; \n / * \n \t R e t u r n s t h 0003500 e f i r s t f r a m e i n 0003520 d e w i t h t h e g i v 0003540 e n k e y , o r N I L i 0003560 f t h e r e \n \t i s n o n e 0003600 . \n * / \n \n e x t e r n X R _ 0003620 D y n F r a m e \n X R _ F i r s 0003640 t C o m m o n P a r e n t ( / * 0003660 X R _ D y n F r a m e d e 1 0003700 , d e 2 * / ) ; \n / * \n \t R 0003720 e t u r n s t h e f i r s t 0003740 f r a m e t h a t i s a 0003760 t a i l o f b o t h a r 0004000 g u m e n t s , o r \n \t N I L 0004020 i f t h e r e i s n o n 0004040 e . \n * / \n \n \n \n e x t e r n 0004060 X R _ P o i n t e r X R _ U n 0004100 w i n d F r a m e K e y ; \n \n t 0004120 y p e d e f s t r u c t X R 0004140 _ U n w i n d F r a m e R e p 0004160 { \n X R _ D y n F r a m 0004200 e u f _ l i n k ; \n X 0004220 R _ P o i n t e r u f _ k e y 0004240 ; \n X R _ M e s a P r o 0004260 c u f _ u n w i n d e r ; \n 0004300 X R _ M e s a P r o c u 0004320 f _ r e w i n d e r ; \n } * X 0004340 R _ U n w i n d F r a m e ; \n \n 0004360 \n e x t e r n i n t \n X R _ U 0004400 n w i n d T o ( / * X R _ D y 0004420 n F r a m e t a r g e t * / 0004440 ) ; \n / * \n \t T a r g e t m u 0004460 s t b e a t a i l o f 0004500 t h e c u r r e n t d y n a 0004520 m i c e n v i r o n m e n t . 0004540 \n \t T h i s c a l l h a s 0004560 t h e s a m e e f f e c t 0004600 a s X R _ S e t D y n a m i c 0004620 E n v i r o n m e n t e x c e 0004640 p t \n \t t h a t a l l u n w 0004660 i n d e r s i n t h e d i 0004700 f f e r e n c e b e t w e e n 0004720 t h e c u r r e n t d y n 0004740 a m i c \n \t e n v i r o n m e n 0004760 t a n d t a r g e t a r e 0005000 c a l l e d , e a c h w i 0005020 t h t h e c u r r e n t \n \t 0005040 d y n a m i c e n v i r o n m 0005060 e n t s e t t o w h a t 0005100 w a s i n e f f e c t w h 0005120 e n t h e y w e r e \n \t p u 0005140 s h e d . \n \t \n \t R e t u r n s 0005160 - 1 i f t a r g e t i s 0005200 n o t a t a i l o f t 0005220 h e c u r r e n t d y n a m 0005240 i c \n \t e n v i r o n m e n t , 0005260 a n d 0 o t h e r w i s e 0005300 . \n \t \n \t N O T E t h a t t 0005320 h i s c a l l w i l l n o 0005340 t r e t u r n a t a l l 0005360 i f a n y o f t h e u n 0005400 w i n d e r s \n \t t h a t i t 0005420 c a l l s d o e s n o t 0005440 d o s o . \n * / \n \n \n e x t e 0005460 r n i n t \n X R _ R e w i n d 0005500 T o ( / * X R _ D y n F r a m 0005520 e t a r g e t * / ) ; \n / * 0005540 \n \t T h e c u r r e n t d y 0005560 n a m i c e n v i r o n m e n 0005600 t m u s t b e a t a i l 0005620 o f t a r g e t . \n \t T h i 0005640 s c a l l h a s t h e s 0005660 a m e e f f e c t a s X R 0005700 _ S e t D y n a m i c E n v i r 0005720 o n m e n t e x c e p t \n \t t 0005740 h a t a l l r e w i n d e r 0005760 s i n t h e d i f f e r e 0006000 n c e b e t w e e n t a r g 0006020 e t a n d t h e \n \t c u r r 0006040 e n t d y n a m i c e n v i 0006060 r o n m e n t a r e c a l l 0006100 e d , e a c h w i t h t h 0006120 e c u r r e n t \n \t d y n a m 0006140 i c e n v i r o n m e n t s 0006160 e t t o w h a t w a s i 0006200 n e f f e c t w h e n t h 0006220 e y w e r e \n \t p u s h e d . 0006240 \n \t \n \t R e t u r n s - 1 i 0006260 f t h e c u r r e n t d y 0006300 n a m i c e n v i r o n m e n 0006320 t i s n o t a t a i l 0006340 o f \n \t t a r g e t , a n d 0006360 0 o t h e r w i s e . \n \t \n \t 0006400 N O T E t h a t t h i s c 0006420 a l l w i l l n o t r e t 0006440 u r n a t a l l i f a n 0006460 y o f t h e r e w i n d e 0006500 r s \n \t t h a t i t c a l l 0006520 s d o e s n o t d o s o 0006540 . \n * / \n \n # e n d i f / * 0006560 _ X R _ T H R E A D S _ D Y N A 0006600 M I C _ E N V I R O N M E N T _ 0006620 * / \n 0006624