> 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

Reply via email to