On Thu, Oct 18, 2012 at 9:28 AM, Charles Mills <charl...@mcn.org> wrote:
> > 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? > > Charles - You are correct. That is exactly what my process does. COBOL calls ASM. ASM attaches task. Attached task uses CEEPIPI to call POSIX(ON) C/C++ code. Sam > 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 > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN