PM75404: THREADSAFE I/O

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as new function.

Error description

  • The Enterprise PL/I library will be changed to serialize I/O
    operation under the POSIX environment, and close file in the
    same thread that opened the files.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Enterprise PL/I for z/OS programs that use   *
    *                 the PL/I multithreading facility.            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Program may abend if file is opened and *
    *                      closed from different threads. I/O      *
    *                      operation from different threads can    *
    *                      also corrupt the internal states of the *
    *                      file in the PL/I library.               *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    1. Except for SYSPRINT, there is no explicit handling to prevent
    file open and close from different threads.
    2. It is generally unsafe to perform I/O to the same file from
    different threads unless user code is provided to serialize
    access to the file statements on each thread.
    

Problem conclusion

Temporary fix

Comments

  • The Enterprise PL/I Library is changed such that if files are
    not explicitly closed on the same thread that opened them, they
    will be implicitly closed at the termination of the thread that
    opened them. The file SYSPRINT is an exception, SYSPRINT is
    always opened and closed in the initial program thread.
    Explicitly closing a file that was opened in a different thread
    is ignored.
    
    Files are serialized across threads to maintain consistency in
    the PL/I library.
    
    Update Enterprise PL/I for z/OS Programming Guide. GI11-9145-00
    at the end of Chapter "Using data sets and files" add a
    section:
    
    File open and close in multithread environment
    ----------------------------------------------
    The operating system requires that files be closed in the same
    thread in which they are opened.
    
    For file SYSPRINT, closing always happens in the initial program
    thread.
    
    For other types of files, files will be implicitly closed on the
    same thread in which they were opened. Explicit file close for a
    file opened in a different thread is ignored.
    
    PUBS CLOSING CODE: DEVCHNG
    
    ž**** PE13/11/19 FIX IN ERROR. SEE APAR PI06513  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PM75404

  • Reported component name

    LE VA PL/I

  • Reported component ID

    568819806

  • Reported release

    780

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function

  • Submitted date

    2012-10-18

  • Closed date

    2013-09-26

  • Last modified date

    2013-12-11

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK97977 UK97978

Modules/Macros

  • IBMPEONU IBMPOCAA IBMPOFCO IBMPOFR  IBMPOPAA IBMPOPBA IBMPOPHA
    IBMPOPNA IBMPOPSP IBMPPPR  IBMPRNFC IBMPRNFR IBMPRNUR IBMPRNVR
    IBMPSTER IBMPSTOB IBMPTTRM IBMP3TRM
    

Publications Referenced
GI11914500        

Fix information

  • Fixed component name

    LE VA PL/I

  • Fixed component ID

    568819806

Applicable component levels

  • R780 PSY UK97977

       UP13/10/03 P F310

  • R790 PSY UK97978

       UP13/10/03 P F310

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.



Rate this page:

(0 users)Average rating

Document information


More support for:

z/OS family

Software version:

7.8

Operating system(s):

z/OS

Reference #:

PM75404

Modified date:

2013-12-11

Translate my page

Machine Translation

Content navigation