*Synopsis*: *ksh93* Creating a compound variable in a subshell "bleeds through"
to the calling subshell
CR 6713682 changed on Dec 27 2008 by <User 1-5HNZ8F>
=== Field ============ === New Value ============= === Old Value =============
Fixed in Build snv_106
Status 8-Fix Available 7-Fix in Progress
====================== =========================== ===========================
*Change Request ID*: 6713682
*Synopsis*: *ksh93* Creating a compound variable in a subshell "bleeds through"
to the calling subshell
Product: solaris
Category: shell
Subcategory: korn93
Type: Defect
Subtype: Functionality
Status: 8-Fix Available
Substatus:
Priority: 3-Medium
Introduced In Release: solaris_nevada
Introduced In Build: snv_72
Responsible Engineer: <User 1-5Q-5151>
Keywords: oss-request, oss-sponsor
=== *Description* ============================================================
Creating a compound variable in s subshell "bleeds through" to the calling
subshell in some conditions.
Example:
-- snip --
$ ksh93 -c 'unset l ; ( l=( a=1 b="BE" ) ; print "$l" ) ; print $l'
(
a=1
b=BE
)
( )
-- snip --
The first bracket pair is Ok since it's coming from $ print "$l" # , however
the 2nd pair comes from the print $l _outside_ the subshell where the variable
"l" should no longer exist.
Workaround:
Force ksh93 to call |fork()| for the matching subshell using $ ulimit -c #,
e.g. ...
-- snip --
$ ksh93 -c 'unset l ; ( ulimit -c 0 ; l=( a=1 b="BE" ) ; print "$l" ) ; print
$l'
(
a=1
b=BE
)
-- snip --
... provides the correct output.
*** (#1 of 1): 2008-06-12 03:32:11 GMT+00:00 <User 1-6Y4MMS>
=== *Public Comments* ========================================================
=== *Workaround* =============================================================
Use $ ulimit -c0 # in a subshell to force ksh93 to |fork()|-
*** (#1 of 1): [ UNSAVED ] <email address omitted>
*** (#1 of 1): 2008-06-12 03:32:11 GMT+00:00 <User 1-6Y4MMS>
=== *Additional Details* =====================================================
Targeted Release: solaris_nevada
Commit To Fix In Build: snv_106
Fixed In Build: snv_106
Integrated In Build:
Verified In Build:
See Also: 6437624, 6619428
Duplicate of:
Hooks:
Hook1:
Hook2:
Hook3:
Hook4:
Hook5: <email address omitted>
Hook6: <email address omitted>
Program Management:
Root Cause: New Code Introduced
Fix Affects Documentation: No
Fix Affects Localization: No
=== *History* ================================================================
Date Submitted: 2008-06-12 03:32:10 GMT+00:00
Submitted By: <User 1-6Y4MMS>
Status Changed Date Updated Updated By
4-Defer 2008-10-22 19:59:38 GMT+00:00 <User 1-5Q-8913>
6-Fix Understood 2008-10-22 22:33:31 GMT+00:00 <User 1-5Q-5151>
7-Fix in Progress 2008-12-22 07:34:08 GMT+00:00 <User 1-5Q-5151>
8-Fix Available 2008-12-27 23:21:52 GMT+00:00 <User 1-5HNZ8F>
=== *Service Request* ========================================================
Impact: Significant
Functionality: Secondary
Severity: 3
Product Name: solaris
Product Release: solaris_nevada
Product Build:
Operating System: solaris
Hardware: generic
Submitted Date: 2008-06-12 03:32:11 GMT+00:00
=== *Multiple Release (MR) Cluster* - 0 ======================================