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
