*Synopsis*: *ksh93* Creating a compound variable in a subshell "bleeds through" 
to the calling subshell

CR 6713682 changed on Dec 23 2008 by <User 1-5Q-5151>

=== Field ============ === New Value ============= === Old Value =============

Evaluation             New Note                    Old Note                   
====================== =========================== ===========================

     
*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: 7-Fix in Progress
  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: 
        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>


=== *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 ======================================


Reply via email to