COMPILATION LISTING OF SEGMENT bjm_adjust_process_id Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/04/85 0939.4 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* 9* This procedure removes a process_id from the before journal per 10* system check in table. It produces minimal changes: all bits in the 11* table for a process are removed and the process_id is removed. If the 12* journal is no longer used by any process nor by any transaction, it is 13* deactivated. 14**/ 15 16 /* HISTORY: 17* 18*Written by M. Pandolf, 11/08/82. 19*Modified: 20*11/23/82 by A. Bensoussan: to call dm_hcs_$free_journal. 21*02/25/83 by A. Bensoussan: to free bj_pste. 22*03/29/83 by A. Bensoussan: to call bj_pste_register$check_out_dead where 23* the knowledge about the check_in_table is centralized, and also 24* to call bj_pste_delete where the deletion of pste is centralized. 25*12/06/83 by L. A. Newcomb: Renamed before_journal_manager_static_ to 26* bjm_data_ and moved some cells from dm_data_ to bjm_data_. 27*12/10/84 by R. Michael Tague: Changed incl name to dm_daemon_sv_codes. 28*01/16/85 by Lee A. Newcomb: Fixed to not set bjm_data_$exit_err before setting 29* bjm_data_$bj_operation; removed the unreferenced 30* dm_daemon_sv_codes.incl.pl1 and other unref'd variables; fixed the 31* format to conform with project standards. 32*02/13/85 by Lee A. Newcomb: Fixed to use the ERROR_RETURN mechanism; use 33* use the new version constant BJ_PSTE_VERSION_2; and to check 34* the version of the BJ_PST after we get its location. 35*03/19/85 by Steve Herbst: Fixed to initialize bjm_data_$bj_code. 36**/ 37 /* format: style2,ll79,ind3,^indprocbody,ifthendo,ifthen,^indnoniterdo,^inddcls,dclind5,idind35,linecom */ 38 39 bjm_adjust_process_id: 40 procedure (p_process_id, p_code); 41 42 /* DECLARATIONS */ 43 44 /* Parameters */ 45 dcl ( 46 p_process_id bit (36), /* process to eliminate */ 47 p_code fixed bin (35) /* error code */ 48 ) parameter; 49 50 /* Automatic */ 51 dcl ( 52 bjm_clean_up_needed bit (1) aligned init (""b), 53 process_id bit (36) aligned, /* local copy of parameter */ 54 code fixed bin (35), /* local status code */ 55 bj_ix fixed bin /* index of journal in PST tables */ 56 ) automatic; 57 58 /* Builtin */ 59 dcl (addr, null) builtin; 60 61 /* Condition */ 62 dcl cleanup condition; 63 64 /* Constant */ 65 dcl ( 66 CHECK_FOR_BJM_RECURSION bit (1) aligned init ("1"b), 67 DONT_CHECK_FOR_BJM_RECURSION bit (1) aligned init ("0"b), 68 ME char (32) 69 init ("bjm_adjust_process_id") 70 ) internal static options (constant); 71 72 /* Entry */ 73 dcl ( 74 bj_cleanup_tables$handler entry (fixed bin (35)), 75 bj_pst_lock entry (), 76 bj_pst_lock$unlock entry (), 77 bj_pste_delete entry (ptr), 78 bj_pste_register$check_out_dead entry (ptr, bit (36) aligned), 79 hcs_$validate_processid entry (bit (36) aligned, 80 fixed bin (35)) 81 ) external; /* External */ 82 dcl ( 83 bjm_data_$bj_pst_ptr pointer, 84 ( 85 dm_error_$bj_bad_pst_version, 86 dm_error_$bj_recursive_invoc, 87 dm_error_$valid_process 88 ) fixed bin (35) 89 ) external static; 90 91 /* Static */ 92 93 /* END OF DECLARATIONS */ 94 95 COPY_AND_INIT_PARAMETERS: 96 do; 97 process_id = p_process_id; 98 p_code = 0; 99 end COPY_AND_INIT_PARAMETERS; 100 101 SETUP_FOR_NON_STANDARD_EXIT: 102 do; 103 on cleanup call CLEAN_UP (); 104 105 call SET_BJM_DATA_ERROR_HANDLING_VALUES (NONLOCAL_ERROR_EXIT, ME, 106 CHECK_FOR_BJM_RECURSION); 107 108 end SETUP_FOR_NON_STANDARD_EXIT; 109 110 FIND_BJ_PST: 111 do; 112 bj_pst_ptr = bjm_data_$bj_pst_ptr; 113 call CHECK_VERSION_NUMERIC (bj_pst.version, BJ_PST_VERSION_1, 114 dm_error_$bj_bad_pst_version); 115 end FIND_BJ_PST; 116 117 /* verify that the process is is valid */ 118 119 call hcs_$validate_processid (process_id, code); 120 if code = 0 then 121 call ERROR_RETURN (dm_error_$valid_process); 122 else code = 0; 123 124 /* lock the PST to prevent the tables being modified */ 125 126 call bj_pst_lock (); 127 128 129 /* Check out this dead process from all journals where it might be registered. 130* Also remove its process_id from the before journal process table.*/ 131 132 call bj_pste_register$check_out_dead (null (), process_id); 133 134 135 /* Now try to deactivate any journal that seems to be not used by any process 136* and any transaction.*/ 137 DEACTIVE_UNUSED_JOURNALS: 138 do bj_ix = 1 to bj_pst.max_n_entries; 139 140 bj_pste_ptr = addr (bj_pst.e (bj_ix)); 141 142 if bj_pste.version = BJ_PSTE_VERSION_2 & bj_pste.n_processes = 0 143 & bj_pste.n_txn = 0 then 144 call bj_pste_delete (bj_pste_ptr); /* Will double check */ 145 end DEACTIVE_UNUSED_JOURNALS; 146 147 /* Unlock the bj_pst */ 148 call bj_pst_lock$unlock (); 149 150 call FINISH (); 151 152 MAIN_RETURN: 153 return; 154 155 NONLOCAL_ERROR_EXIT: 156 call ERROR_RETURN (bjm_data_$bj_code); 157 158 FINISH: 159 proc (); 160 161 call SET_BJM_DATA_ERROR_HANDLING_VALUES (bjm_data_$bj_default_error_label, 162 "", DONT_CHECK_FOR_BJM_RECURSION); 163 164 return; 165 166 end FINISH; 167 168 ERROR_RETURN: 169 proc (er_p_code); 170 171 dcl er_p_code fixed bin (35) parameter; 172 173 call CLEAN_UP (); 174 p_code = er_p_code; 175 goto MAIN_RETURN; 176 177 end ERROR_RETURN; 178 179 CLEAN_UP: 180 proc (); 181 182 if bjm_clean_up_needed then 183 call bj_cleanup_tables$handler (0); 184 185 call FINISH (); 186 187 return; 188 189 end CLEAN_UP; 190 191 SET_BJM_DATA_ERROR_HANDLING_VALUES: 192 proc (sbdehv_p_error_exit, sbdehv_p_operation, 193 sbdehv_p_check_for_recursive_invocation); 194 195 /* This internal procedure centralizes the setting of the BJM global */ 196 /* error values in bjm_data_. It is called near the beginning of */ 197 /* this module, and in the FINISH internal procedure. ONLY THE FIRST */ 198 /* OF THESE CALLS SHOULD ASK FOR DETECTION OF A RECURSIVE INVOCATION */ 199 /* OF THE BEFORE JOURNAL MANAGER, if the other calls did, we could */ 200 /* end up getting a recursive call ERROR_RETURN, CLEAN_UP, FINISH, */ 201 /* this proc, etc. */ 202 203 dcl ( 204 sbdehv_p_error_exit label variable, 205 sbdehv_p_operation char (*), 206 sbdehv_p_check_for_recursive_invocation 207 bit (1) aligned 208 ) parameter; 209 210 if sbdehv_p_check_for_recursive_invocation then 211 if bjm_data_$bj_operation ^= "" then 212 call ERROR_RETURN (dm_error_$bj_recursive_invoc); 213 214 bjm_clean_up_needed = "1"b; 215 bjm_data_$bj_exit_err = sbdehv_p_error_exit; 216 bjm_data_$bj_operation = sbdehv_p_operation; 217 bjm_data_$bj_code = 0; 218 219 return; 220 221 end SET_BJM_DATA_ERROR_HANDLING_VALUES; 222 223 CHECK_VERSION_NUMERIC: 224 proc (cvn_p_given_version, cvn_p_correct_version, cvn_p_error_to_use); 225 226 /* The error code to use is passed since we use this to check both */ 227 /* the PPT and PPTE structure versions. */ 228 229 dcl ( 230 cvn_p_given_version fixed bin, 231 cvn_p_correct_version fixed bin, 232 cvn_p_error_to_use fixed bin (35) 233 ) parameter; 234 235 if cvn_p_given_version ^= cvn_p_correct_version then 236 call ERROR_RETURN (cvn_p_error_to_use); 237 238 end CHECK_VERSION_NUMERIC; 239 1 1 /* BEGIN INCLUDE FILE: dm_bj_pst.incl.pl1 */ 1 2 /* 1 3*Layout of the before journal per-system table header and BJ table entries. 1 4* 1 5*Written by Andre Bensoussan 06-15-1982 1 6*Modified: 1 7*09/29/82 by Lee A. Newcomb: To use dm_system_data_ for determining 1 8* dimension of bj_pst.e and force bj_pst.mod_list_area and 1 9* bj_pst.e to even word boundaries. 1 10*04/27/82 by M. Pandolf: To add meter space by cutting away from mod_list_area. 1 11**/ 1 12 /* format: style4,indattr,idind33,^indcomtxt */ 1 13 1 14 dcl BJ_PST_VERSION_1 fixed bin internal static options (constant) init (1); 1 15 1 16 dcl bj_pst_ptr ptr; 1 17 1 18 dcl 1 bj_pst based (bj_pst_ptr) aligned, 1 19 2 version fixed bin, 1 20 2 pad1 bit (36), 1 21 2 lock, 1 22 3 pid bit (36), /* process_id holding lock */ 1 23 3 event bit (36), 1 24 2 time_of_bootload fixed bin (71), /* for ease of access */ 1 25 2 max_n_entries fixed bin, /* as determined from dm_system_data_$bj_max_n_journals */ 1 26 2 n_entries_used fixed bin, /* current # of BJs open on the system */ 1 27 2 highest_ix_used fixed bin, /* max. # of BJs that has ever been open of the system */ 1 28 2 pn_table_offset fixed bin (18) uns, /* relative offset of bj_pn_table in bj_pst seg. */ 1 29 2 check_in_table_offset fixed bin (18) uns, /* ditto for bj_check_in_table */ 1 30 2 buffer_table_offset fixed bin (18) uns, /* ditto for where our BJ buffers are located */ 1 31 2 max_n_buffers fixed bin, /* must be <= to max_n_entries */ 1 32 2 pad2 bit (36), /* force next on even word boundary */ 1 33 2 meters, /* dim (50) fixed bin (71), */ 1 34 3 n_calls_begin_txn fixed bin (71), /* meter (1) */ 1 35 3 n_calls_before_image fixed bin (71), /* meter (2) */ 1 36 3 n_calls_abort fixed bin (71), /* meter (3) */ 1 37 3 n_calls_commit fixed bin (71), /* meter (4) */ 1 38 3 n_calls_rb_mark fixed bin (71), /* meter (5) */ 1 39 3 n_calls_fm_pc_mark fixed bin (71), /* meter (6) */ 1 40 3 n_calls_fm_rbh fixed bin (71), /* meter (7) */ 1 41 3 n_calls_rollback fixed bin (71), /* meter (8) */ 1 42 3 meter dim (9:50) fixed bin (71), /* meter (9) - meter (50) */ 1 43 2 mod_list_area (100) fixed bin (35), /* for keeping track of pst mods */ 1 44 1 45 2 e dim (dm_system_data_$bj_max_n_journals refer (bj_pst.max_n_entries)) 1 46 like bj_pste; /* per system BJ table entries */ 1 47 1 48 1 49 /* END INCLUDE FILE: dm_bj_pst.incl.pl1 */ 240 241 2 1 /* BEGIN INCLUDE FILE: dm_bj_pste.incl.pl1 */ 2 2 2 3 /* DESCRIPTION 2 4* 2 5* Layout of the per-system before journal table 2 6* entries. This structure is used to contain information 2 7* about a before journal active in a running DMS. It is 2 8* currently also used as the header of a before journal 2 9* (see dm_bj_header.incl.pl1). Version changes to this 2 10* structure require either automatic conversion to be set 2 11* up, or users to be told to re-create their journals. 2 12* 2 13* Currently, a bj_pste must be 64 words long; any 2 14* future changes must at least make sure a bj_pste is an 2 15* even # of words for the alignment of some of its 2 16* elements. 2 17**/ 2 18 2 19 /* HISTORY: 2 20* 2 21*Written by Andre Bensoussan, 06/15/82. 2 22*Modified: 2 23*08/16/82 by Andre Bensoussan: to add stamp_for_last_ci_put. 2 24*09/29/82 by Lee A. Newcomb: to fix BJ_PSTE_VERSION_1 and fix some 2 25* alignments. 2 26*11/01/82 by Andre Bensoussan: to add "stamp_for_last_ci_on_disk", 2 27* "n_bi_still_unsafe", and "n_bi_being_saved". 2 28*02/08/83 by M. Pandolf: to add append_state structure. 2 29*03/19/83 by L. A. Newcomb: to fix up some alignments and spelling problems. 2 30*04/27/83 by M. Pandolf: to add meter structure at end. 2 31*02/11/85 by Lee A. Newcomb: Fixed version constant name to agree with its 2 32* value of 2; fixed references to page files or PF's; fixed format 2 33* of description and history sections. 2 34*03/07/85 by Lee A. Newcomb: Changed a pad word to be txn_storage_limit and 2 35* expanded on the description for future generations (no 2 36* version was made). 2 37*03/27/85 by Lee A. Newcomb: Changed one of the unused meters to 2 38* n_txn_storage_limit_hits (again without a version change). 2 39**/ 2 40 /* format: style2,ll79,ind3,^indprocbody,ifthendo,ifthen,^indnoniterdo,^inddcls,dclind5,idind35,linecom */ 2 41 2 42 dcl BJ_PSTE_VERSION_2 fixed bin internal static 2 43 options (constant) init (2); 2 44 2 45 dcl bj_pste_ptr ptr; 2 46 2 47 /* MUST HAVE EVEN NUMBER OR WORDS */ 2 48 dcl 1 bj_pste based (bj_pste_ptr) aligned, 2 49 2 version fixed bin, 2 50 2 bj_ix fixed bin, /* Index of this entry in bj_pst table */ 2 51 2 lock aligned, 2 52 3 pid bit (36), /* process ID of lock owner */ 2 53 3 event bit (36), 2 54 2 bj_uid bit (36), /* UID of BJ file */ 2 55 2 ci_size fixed bin, /* In number of bytes */ 2 56 2 max_size fixed bin, /* In number of ci's */ 2 57 2 active bit (1) aligned, /* 0 means journal not being used */ 2 58 2 time_header_updated fixed bin (71), 2 59 2 earliest_meaningful_time fixed bin (71), /* time stamp on first valid control interval */ 2 60 2 update_frequency fixed bin, /* Not used yet, probably will be how many CIs */ 2 61 2 last_rec_id bit (36), /* rec id of the last logical record in journal */ 2 62 2 n_processes fixed bin, /* Number of processes using this BJ */ 2 63 2 n_txn fixed bin, /* Number of txn in progress using this BJ */ 2 64 2 last_ci_info aligned, 2 65 3 last_ci_buffered fixed bin (24) uns, /* Last ci encached in the buffer */ 2 66 3 last_ci_put fixed bin (24) uns, /* Last ci put in the BJ */ 2 67 3 last_ci_flushed fixed bin (24) uns, /* Last ci for which flush initiated */ 2 68 3 last_ci_on_disk fixed bin (24) uns, /* Last ci of that portion of the BJ known to be ... */ 2 69 /* .. completely on disk */ 2 70 3 stamp_for_last_ci_put fixed bin (71), /* Time stamp associated with the last ci put in the BJ */ 2 71 3 stamp_for_last_ci_on_disk fixed bin (71), /* Time stamp associated with the last ci on disk in the BJ */ 2 72 2 n_bi_still_unsafe fixed bin, /* number of bi's still not on disk */ 2 73 2 n_bi_being_saved fixed bin, /* number of bi's for which flush initiated */ 2 74 2 buffer_offset fixed bin (18) uns, /* Now allocated in the bj_pst segment */ 2 75 2 txn_storage_limit fixed bin (35), /* # of bytes a single txn may write */ 2 76 2 cl aligned, /* Circular List */ 2 77 3 origin_ci fixed bin (24) uns, 2 78 3 lowest_ci fixed bin (24) uns, 2 79 3 highest_ci fixed bin (24) uns, 2 80 3 number_ci fixed bin (24) uns, 2 81 2 append_state aligned, 2 82 3 current_operation char (4), /* equal to "appe" when append in progress */ 2 83 3 pending_n_txn fixed bin, /* n_txn value when append done */ 2 84 3 pending_last_rec_id bit (36), /* last_rec_id value after append done */ 2 85 3 pending_last_element_id bit (36), /* last element id after append done */ 2 86 3 txte_rec_id_relp bit (18), /* rel ptr into seg containing TXT for txte.pending_bj_rec_id */ 2 87 2 pad_to_even_word1 bit (36) aligned, 2 88 2 meters aligned, /* dim (10) fixed bin (71), */ 2 89 3 n_bi_written fixed bin (71), /* meter (1) */ 2 90 3 n_bi_bytes_written fixed bin (71), /* meter (2) */ 2 91 3 n_journal_full fixed bin (71), /* meter (3) */ 2 92 3 n_successful_recycles fixed bin (71), /* meter (4) */ 2 93 3 n_ci_recycled fixed bin (71), /* meter (5) */ 2 94 3 n_txn_started fixed bin (71), /* meter (6) */ 2 95 3 n_non_null_txn fixed bin (71), /* meter (7) */ 2 96 3 n_txn_storage_limit_hits fixed bin (71), /* meter (8) */ 2 97 3 meter (9:10) fixed bin (71), 2 98 /* meter (9) - meter (10) */ 2 99 2 pad_to_64_words (6) bit (36); /* 64 is even (see below) */ 2 100 2 101 2 102 /* END INCLUDE FILE: dm_bj_pste.incl.pl1 */ 242 243 3 1 /* BEGIN INCLUDE FILE dm_bj_global_error_info.incl.pl1 */ 3 2 3 3 /* Originally found in before journal primitives written by */ 3 4 /* A. Bensoussan. Gathered into an include file for ease of use. */ 3 5 /* See the bjm_data_.alm source for details of use. */ 3 6 3 7 /* HISTORY: 3 8*Written by Mike Pandolf, 07/14/82. 3 9*Modified: 3 10*12/06/83 by L. A. Newcomb: Renamed before_journal_manager_static_ to 3 11* bjm_data_ and moved some cells from dm_data_ to bjm_data_. 3 12**/ 3 13 3 14 /* format: style4,indattr,ifthenstmt,ifthen,^indcomtxt,idind33 */ 3 15 dcl bjm_data_$bj_operation char (32) external static; 3 16 3 17 dcl bjm_data_$bj_exit_err label variable external; 3 18 3 19 dcl bjm_data_$bj_code fixed bin (35) external; 3 20 3 21 dcl bjm_data_$bj_default_error_label label external static; 3 22 3 23 3 24 /* END INCLUDE FILE dm_bj_global_error_info.incl.pl1 */ 244 245 246 247 end bjm_adjust_process_id; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/04/85 0826.1 bjm_adjust_process_id.pl1 >spec>on>7192.pbf-04/04/85>bjm_adjust_process_id.pl1 240 1 01/07/85 0857.7 dm_bj_pst.incl.pl1 >ldd>include>dm_bj_pst.incl.pl1 242 2 04/04/85 0819.1 dm_bj_pste.incl.pl1 >spec>on>7192.pbf-04/04/85>dm_bj_pste.incl.pl1 244 3 01/07/85 0857.3 dm_bj_global_error_info.incl.pl1 >ldd>include>dm_bj_global_error_info.incl.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. BJ_PSTE_VERSION_2 constant fixed bin(17,0) initial dcl 2-42 ref 142 BJ_PST_VERSION_1 000021 constant fixed bin(17,0) initial dcl 1-14 set ref 113* CHECK_FOR_BJM_RECURSION 000011 constant bit(1) initial dcl 65 set ref 105* DONT_CHECK_FOR_BJM_RECURSION 000017 constant bit(1) initial dcl 65 set ref 161* ME 000000 constant char(32) initial unaligned dcl 65 set ref 105* addr builtin function dcl 59 ref 140 bj_cleanup_tables$handler 000010 constant entry external dcl 73 ref 182 bj_ix 000103 automatic fixed bin(17,0) dcl 51 set ref 137* 140* bj_pst based structure level 1 dcl 1-18 bj_pst_lock 000012 constant entry external dcl 73 ref 126 bj_pst_lock$unlock 000014 constant entry external dcl 73 ref 148 bj_pst_ptr 000112 automatic pointer dcl 1-16 set ref 112* 113 137 140 bj_pste based structure level 1 dcl 2-48 bj_pste_delete 000016 constant entry external dcl 73 ref 142 bj_pste_ptr 000114 automatic pointer dcl 2-45 set ref 140* 142 142 142 142* bj_pste_register$check_out_dead 000020 constant entry external dcl 73 ref 132 bjm_clean_up_needed 000100 automatic bit(1) initial dcl 51 set ref 51* 182 214* bjm_data_$bj_code 000040 external static fixed bin(35,0) dcl 3-19 set ref 155* 217* bjm_data_$bj_default_error_label 000042 external static label variable dcl 3-21 set ref 161* bjm_data_$bj_exit_err 000036 external static label variable dcl 3-17 set ref 215* bjm_data_$bj_operation 000034 external static char(32) unaligned dcl 3-15 set ref 210 216* bjm_data_$bj_pst_ptr 000024 external static pointer dcl 82 ref 112 cleanup 000104 stack reference condition dcl 62 ref 103 code 000102 automatic fixed bin(35,0) dcl 51 set ref 119* 120 122* cvn_p_correct_version parameter fixed bin(17,0) dcl 229 ref 223 235 cvn_p_error_to_use parameter fixed bin(35,0) dcl 229 set ref 223 235* cvn_p_given_version parameter fixed bin(17,0) dcl 229 ref 223 235 dm_error_$bj_bad_pst_version 000026 external static fixed bin(35,0) dcl 82 set ref 113* dm_error_$bj_recursive_invoc 000030 external static fixed bin(35,0) dcl 82 set ref 210* dm_error_$valid_process 000032 external static fixed bin(35,0) dcl 82 set ref 120* e 326 based structure array level 2 dcl 1-18 set ref 140 er_p_code parameter fixed bin(35,0) dcl 171 ref 168 174 hcs_$validate_processid 000022 constant entry external dcl 73 ref 119 max_n_entries 6 based fixed bin(17,0) level 2 dcl 1-18 ref 137 n_processes 16 based fixed bin(17,0) level 2 dcl 2-48 ref 142 n_txn 17 based fixed bin(17,0) level 2 dcl 2-48 ref 142 null builtin function dcl 59 ref 132 132 p_code parameter fixed bin(35,0) dcl 45 set ref 39 98* 174* p_process_id parameter bit(36) unaligned dcl 45 ref 39 97 process_id 000101 automatic bit(36) dcl 51 set ref 97* 119* 132* sbdehv_p_check_for_recursive_invocation parameter bit(1) dcl 203 ref 191 210 sbdehv_p_error_exit parameter label variable dcl 203 ref 191 215 sbdehv_p_operation parameter char unaligned dcl 203 ref 191 216 version based fixed bin(17,0) level 2 in structure "bj_pste" dcl 2-48 in procedure "bjm_adjust_process_id" ref 142 version based fixed bin(17,0) level 2 in structure "bj_pst" dcl 1-18 in procedure "bjm_adjust_process_id" set ref 113* NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION_NUMERIC 000435 constant entry internal dcl 223 ref 113 CLEAN_UP 000331 constant entry internal dcl 179 ref 103 173 COPY_AND_INIT_PARAMETERS 000042 constant label dcl 95 DEACTIVE_UNUSED_JOURNALS 000177 constant label dcl 137 ERROR_RETURN 000306 constant entry internal dcl 168 ref 120 155 210 235 FIND_BJ_PST 000115 constant label dcl 110 FINISH 000256 constant entry internal dcl 158 ref 150 185 MAIN_RETURN 000244 constant label dcl 152 ref 175 NONLOCAL_ERROR_EXIT 000245 constant label dcl 155 ref 105 105 SETUP_FOR_NON_STANDARD_EXIT 000050 constant label dcl 101 SET_BJM_DATA_ERROR_HANDLING_VALUES 000357 constant entry internal dcl 191 ref 105 161 bjm_adjust_process_id 000034 constant entry external dcl 39 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 724 770 451 734 Length 1252 451 44 246 253 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME bjm_adjust_process_id 114 external procedure is an external procedure. on unit on line 103 64 on unit FINISH 82 internal procedure is called by several nonquick procedures. ERROR_RETURN 64 internal procedure is called by several nonquick procedures. CLEAN_UP 70 internal procedure is called by several nonquick procedures. SET_BJM_DATA_ERROR_HANDLING_VALUES 72 internal procedure is called by several nonquick procedures. CHECK_VERSION_NUMERIC internal procedure shares stack frame of external procedure bjm_adjust_process_id. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bjm_adjust_process_id 000100 bjm_clean_up_needed bjm_adjust_process_id 000101 process_id bjm_adjust_process_id 000102 code bjm_adjust_process_id 000103 bj_ix bjm_adjust_process_id 000112 bj_pst_ptr bjm_adjust_process_id 000114 bj_pste_ptr bjm_adjust_process_id THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out call_int_this_desc call_int_this call_int_other_desc call_int_other return tra_ext enable ext_entry int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. bj_cleanup_tables$handler bj_pst_lock bj_pst_lock$unlock bj_pste_delete bj_pste_register$check_out_dead hcs_$validate_processid THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. bjm_data_$bj_code bjm_data_$bj_default_error_label bjm_data_$bj_exit_err bjm_data_$bj_operation bjm_data_$bj_pst_ptr dm_error_$bj_bad_pst_version dm_error_$bj_recursive_invoc dm_error_$valid_process LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 39 000030 51 000041 97 000042 98 000047 103 000050 105 000072 112 000115 113 000121 119 000133 120 000144 122 000156 126 000157 132 000164 137 000177 140 000207 142 000213 145 000231 148 000233 150 000240 152 000244 155 000245 247 000254 158 000255 161 000263 164 000304 168 000305 173 000313 174 000320 175 000325 179 000330 182 000336 185 000350 187 000355 191 000356 210 000372 214 000412 215 000415 216 000425 217 000433 219 000434 223 000435 235 000437 238 000450 ----------------------------------------------------------- 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