Opened 9 years ago
Closed 9 years ago
#63 closed defect (fixed)
Fix object_lib_ to terminate segments it initiates (MCR10011)
| Reported by: | Eric Swenson | Owned by: | Eric Swenson |
|---|---|---|---|
| Priority: | major | Milestone: | MR12.6d |
| Component: | Standard Library | Version: | MR12.5 |
| Keywords: | Cc: |
Description
If you use dprint to queue a segment up for printing, the segment
becomes known if it was not already known (is initiated) and is not
terminated upon exit from dprint.
The actual bug is in object_lib_.pl1, not dprint. This subroutine
initiates a segment and doesn't terminate it. The fix involves
remembering whether or not object_info_ made the segment known when
calling hcs_$initiate_count on the segment. If the segment was already
known, we don't want to terminate it on exit. Also, if we pass back a
pointer to the object segment to the caller, we don't want to terminate
on exit. But if we make the segment known, and we abort before passing
the segment pointer back to the caller, then we have to terminate the
segment.
