Opened 16 months ago
Last modified 12 months ago
#353 assigned defect
ssu_$add_request_table fails to store table position for testing in subsequent calls — at Version 1
| Reported by: | Gary Dixon | Owned by: | Eric Swenson |
|---|---|---|---|
| Priority: | major | Milestone: | MR12.9 |
| Component: | General | Version: | MR12.5 |
| Keywords: | Cc: |
Description (last modified by )
Request table position value is not preserved by ssu_$add_request_table when adding a new request table to an ssu_ subsystem.
Therefore, subsequent ssu_$add_request_table calls cannot compare the requested table position with position specified for each existing request table.
To correct this deficiency, the version of the structure in ssu_request_tables_list.incl.pl1 must include to version 2 so the given table position can be preserved in a .pad element of the version 1 structure.
Recommend changes to ssu_request_tables_list structure are shown below.
cpa [lpn ssu_request_tables_list.ip] == A1 /* BEGIN INCLUDE FILE ... ssu_request_tables_list.incl.pl1 */ Changed by B to: B1 /* START OF: ssu_request_tables_list.incl.pl1 * * * * * * * * * * * * * * * * * * * */ B2 A4 /* The list of request tables in use by a subsystem invocation */ Changed by B to: B5 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ B6 /* */ B7 /* The list of request tables in use by a subsystem invocation. The caller of */ B8 /* ssu_$add_request_table declares a request table by name as a fixed bin external static */ B9 /* variable. For example: */ B10 /* */ B11 /* dcl azm_request_table_$azm_request_table_ fixed bin external static; */ B12 /* */ B13 /* The request_tables_list.table_ptr points to that variable. This permits the caller to obtain */ B14 /* pointers to the current request table(s) without knowing their internal format. */ B15 /* */ B16 /* Existing callers are encourages to upgrade their calls to ssu_$list_request_tables to request */ B17 /* the REQUEST_TABLES_LIST_VERSION_2 structure, which is shown below. */ B18 /* */ B19 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ A9 3 version fixed binary, /* version of this structure */ A10 3 n_tables fixed binary, /* # of request tables in the list */ A11 2 tables (request_tables_list_n_tables refer (request_tables_list.n_tables)), A12 3 table_ptr pointer, /* -> this request table */ A13 3 flags, A14 4 table_valid bit (1) unaligned, /* "1"b => this request table is valid */ A15 4 pad bit (35) unaligned, A16 3 pad bit (36); A17 A18 dcl rtl_ptr pointer; A19 A20 dcl request_tables_list_n_tables fixed binary; /* for allocating the above structure */ Changed by B to: B24 3 version fixed binary, /* version of this structure */ B25 3 n_tables fixed binary, /* # of request tables in the list */ B26 2 tables (request_tables_list_n_tables refer (request_tables_list.n_tables)), B27 3 table_ptr pointer, /* -> this request table */ B28 3 flags, B29 4 table_valid bit (1) unaligned, /* "1"b => this request table is valid */ B30 4 pad bit (35) unaligned, B31 3 table_position fixed binary; /* Position of this request table related to the others. */ B32 /* Version 1 of this structure declares this element */ B33 /* as: pad bit(36) aligned. */ B34 dcl rtl_ptr pointer; B35 B36 dcl request_tables_list_n_tables fixed binary; /* for allocating the above structure */ A23 A24 /* END INCLUDE FILE ... ssu_request_tables_list.incl.pl1 */ Changed by B to: B39 dcl REQUEST_TABLES_LIST_VERSION_2 fixed binary static options (constant) initial (2); B40 B41 /* END OF: ssu_request_tables_list.incl.pl1 * * * * * * * * * * * * * * * * * * * */ Comparison finished: 4 differences, 49 lines.
Note:
See TracTickets
for help on using tickets.
