On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills <[email protected]> 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.


>
> I gather it's also not possible to turn POSIX on programmatically, is that
> correct? It has to be set either with a #pragma or one of the CEEOPTS type
> methods, is that right?
>
> Charles
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to