COMPILATION LISTING OF SEGMENT tm_user_shutdown Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/24/85 0834.1 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* 9* tm_user_shutdown 10* 11* This routine does the user ring portion of Data Management user 12*shutdown. The steps are outlined below. IPS interrupts are not 13*masked as they cannot cause any damage unless the user has created his 14*own dm_misc_util_, etc., in an attempt to do so. 15* 16* In the original code, all user shutdown was done in the DM ring. 17*However, this left the timers set; if the process then used another DM 18*system, a segment fault would result trying to reference through the 19*old entry variables stored by timer_manager_. In addition, the user 20*would get rather confused to find multiple timers set up to do the DM 21*user shutdown steps. 22* 23* Shutdown Steps: 24*1) reset the user shutdown warning timer; 25* 26*2) reset the user shutdown timer; 27* 28*3) call transaction_manager_$user_shutdown_real to cause DM shutdown 29*in the inner ring (DM user shutdown is not complete until this call 30*returns). 31**/ 32 33 /* HISTORY: 34* 35*Written by Lee A. Newcomb, 04/17/85. 36*Modified: 37**/ 38 39 /* format: style2,ll79,ind3,^indprocbody,ifthendo,ifthen,^indnoniterdo,^inddcls,dclind5,idind35,linecom */ 40 41 tm_user_shutdown: 42 proc (p_area_ptr, p_tm_shutdown_info_ptr, p_code); 43 44 45 /* DECLARATIONS */ 46 47 /* Parameter */ 48 dcl ( 49 p_area_ptr ptr, /* I: user area to allocate tm_shutdown_info */ 50 p_tm_shutdown_info_ptr ptr, /* O: where tm_shutdown_info was allocated */ 51 p_code fixed bin (35) /* O: normal error code, recovery fails if ^= 0 */ 52 ) parameter; 53 54 /* Condition */ 55 dcl timer_manager_err condition; 56 57 /* Entry */ 58 dcl ( 59 dm_misc_util_$is_process_using_dm entry () returns (bit (1) aligned), 60 dm_misc_util_$shutdown_handler entry (), 61 dm_misc_util_$signal_shutdown_warning 62 entry (), 63 dm_misc_util_$signal_user_shutdown entry (), 64 timer_manager_$reset_alarm_call entry (entry), 65 transaction_manager_$user_shutdown_real 66 entry (ptr, ptr, fixed bin (35)) 67 ) external; 68 69 /* END OF DECLARATIONS */ 70 71 /* tm_user_shutdown: repeat for reader */ 72 /* proc (ptr, ptr, fixed bin(35)); */ 73 74 75 RESET_USER_DM_SHUTDOWN_TIMERS: 76 do; /* two timers to reset */ 77 on timer_manager_err go to RESET_USER_SHUTDOWN_TIMER; 78 call timer_manager_$reset_alarm_call ( 79 dm_misc_util_$signal_shutdown_warning); 80 RESET_USER_SHUTDOWN_TIMER: 81 on timer_manager_err go to USER_SHUTDOWN_TIMERS_RESET; 82 call timer_manager_$reset_alarm_call (dm_misc_util_$signal_user_shutdown) 83 ; 84 USER_SHUTDOWN_TIMERS_RESET: 85 end RESET_USER_DM_SHUTDOWN_TIMERS; 86 87 88 DO_DM_RING_USER_SHUTDOWN: 89 call transaction_manager_$user_shutdown_real (p_area_ptr, 90 p_tm_shutdown_info_ptr, p_code); 91 92 return; 93 94 /* end tm_user_shutdown; */ 95 96 97 end tm_user_shutdown; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/24/85 0803.3 tm_user_shutdown.pl1 >spec>on>41-21>tm_user_shutdown.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. dm_misc_util_$signal_shutdown_warning 000010 constant entry external dcl 58 ref 78 78 dm_misc_util_$signal_user_shutdown 000012 constant entry external dcl 58 ref 82 82 p_area_ptr parameter pointer dcl 48 set ref 41 88* p_code parameter fixed bin(35,0) dcl 48 set ref 41 88* p_tm_shutdown_info_ptr parameter pointer dcl 48 set ref 41 88* timer_manager_$reset_alarm_call 000014 constant entry external dcl 58 ref 78 82 timer_manager_err 000100 stack reference condition dcl 55 ref 77 80 transaction_manager_$user_shutdown_real 000016 constant entry external dcl 58 ref 88 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. dm_misc_util_$is_process_using_dm 000000 constant entry external dcl 58 dm_misc_util_$shutdown_handler 000000 constant entry external dcl 58 NAMES DECLARED BY EXPLICIT CONTEXT. DO_DM_RING_USER_SHUTDOWN 000105 constant label dcl 88 RESET_USER_DM_SHUTDOWN_TIMERS 000021 constant label dcl 75 RESET_USER_SHUTDOWN_TIMER 000053 constant label dcl 80 ref 77 USER_SHUTDOWN_TIMERS_RESET 000105 constant label dcl 84 ref 80 tm_user_shutdown 000014 constant entry external dcl 41 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 252 272 124 262 Length 446 124 20 137 126 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tm_user_shutdown 86 external procedure is an external procedure. on unit on line 77 64 on unit on unit on line 80 64 on unit THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return tra_ext enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. dm_misc_util_$signal_shutdown_warning dm_misc_util_$signal_user_shutdown timer_manager_$reset_alarm_call transaction_manager_$user_shutdown_real NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 41 000010 77 000021 78 000040 80 000053 82 000072 88 000105 92 000121 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved