Skip to Main Content
IBM Z Hardware and Operating Systems Ideas Portal


This is the public portal for all IBM Z Hardware and Operating System related offerings. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace z/OS
Categories LE
Created by Guest
Created on Oct 25, 2017

PTHREAD library always emit error when SYSIN comes from SYSIN dataset and unconditionally opens SYSOUT

When our C++ application code make the first thread creation call to pthread_create() the language environment implementation unconditionally goes and opens the SYSIN and SYSOUT DDnames.

Our application can, in most circumstances, already be reading input from SYSIN DDname. If the application is being run from a JCL job and the author of the JCL has used an inline SYSIN dataset definition to provide that sysin input. For example:

//SYSIN DD DATA,DLM='++'
INPUT
++

Then that SYSIN data set can only be opened and read once in the entire application. Being that we already have it opened and are reading the content the attempt that is triggered by the pthread_create() call will always fail and produce the following diagnostic message in the job log:

07.50.35 JOB00048 $HASP708 I033447 SYSIN OPEN FAILED
158 RC=03 DATA SET ALREADY OPENED
158 DSNAME=CJH.I033447.JOB00048.D0000101.?
07.50.35 JOB00048 IEC141I 013-C0,IGG0199G,I033447,WPS,SYSIN 159

This is causing confusion to our customers, who are now encountering this message and wondering what it means.

In addition to the above mentioned problem with the SYSIN DDname the pthread_create() call also unconditionally triggers an opening of the SYSOUT data set. We have customers using our application that in their client code trigger reassignment of the SYSOUT data set, as we do not generally explicitly use it in our application this was not an issue. Once the first call to pthread_create() is made their client code can no longer reassign SYSOUT as it has been opened and is in use.

We would like the pthread library to follow the established language environment policy of opening the SYSOUT DD name only when the application code causes it to need to be opened, when it first writes to the STDOUT stream. Additionally we would like to be able to inform the thread library that it will not be able to open SYSIN DD name so that it does not attempt to do it an fail, emitting a message that is causing our customers confusion.

Our application is written to use BSAM for sequential file accesses. We do not use the language environment interfaces for file accesses, since the language environment interface does not allow us full control over the interaction, that we do get with BSAM.

Idea priority Urgent
  • Guest
    Reply
    |
    Jan 3, 2023
    This item is a valid requirement but unlikely to be given high enough priority to be placed into the product plan. If this requirement is high value, please re-open it, or open a new requirement.
  • Guest
    Reply
    |
    May 28, 2020

    This item is not in our plans but is being kept in our backlog.

  • Guest
    Reply
    |
    Jan 25, 2018

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - z Systems Software
    Product - z/OS
    Component - LE
    Operating system - IBM z/OS
    Source - Client

    For recording keeping, the previous attributes were:
    Brand - Servers and Systems Software
    Product family - Programming Languages
    Product - C/C++ Compilers
    Component - Miscellaneous
    Operating system - IBM z/OS
    Source - Client

  • Guest
    Reply
    |
    Nov 30, 2017

    This RFE is still being investigated.