> the C/C++ needed to be callable from non-POSIX COBOL. It's worse than that. POSIX anything is not even callable from POSIX COBOL. That's how the message reads, and I just verified by running the COBOL program //CEEOPTS DD * POSIX(ON)
What a PITA! LE. Grrrrrrrr. Am I reading what you say to imply that this should work if the C were on its own TCB (task)? That if I wrote a little COBOL-callable stub to ATTACH the C++ program and wait for it that it should work? Can anyone confirm or deny my conjecture that there is no straightforward programmatic way to turn POSIX(ON) from within a program (short of using CEEPIPI to build a new enclave, etc.). I can't have a "basic" C++ program that starts up and after a while says "this next function is going to require POSIX(ON)" and so calls setposix(true); Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 7:50 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills <charl...@mcn.org> wrote: > I have a program written in LE C++ that is among other usages designed > to be callable from a COBOL (or potentially other LE) program. I > recently changed the program to run POSIX(ON) because it is now > sometimes calling the GSK crypto routines. > > Now, when I call it from a COBOL program I get the following error: > > CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is > not supported. > Explanation: In Language Environment, a process can have only one > enclave that is running with POSIX(ON), and that enclave must be the > first enclave. All nested enclaves must be running with POSIX(OFF). > Programmer response: Specify the POSIX(ON) run-time option for only > the first enclave. Make sure all nested enclaves specify POSIX(OFF). > System action: The application will be terminated. > > Is it truly the case that a POSIX(ON) main program can't be invoked > from another LE program? That seems kind of restrictive given that a > number of C library functions require POSIX(ON). > I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN