We have a lot of HLASM and XL/C modules doing attach/wait/post/detach. The 
problem seems to be that the POSIX(ON) is not inherited by an attached subtask. 
Recoding to use threads and semaphores would effectively be rewriting the 
server - I'll think I'll leave that for the next generation! It's a bit poor 
that IBM's SSL implementation does not properly support traditional MVS 
programs; it's a part of TCP/IP, after all. I tried experimenting with BPX1SDD 
(set_dub_default) to make TCB's processes and threads but I still got the 
EDC5167I. 

Thanks
Robin

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of David Crayford
Sent: 17 March 2016 21:18
To: [email protected]
Subject: Re: Linking C module with SSL

On 17/03/2016 10:05 PM, Robin Atwood wrote:
> Now I have hit the problem I thought might be lurking. The module I fixed 
> before with the POSIX(ON) pragma is the listener. It attaches a number of 
> worker tasks it givesockets an incoming session to. When the worker does its 
> takesocket it must then do a gsk_secure_socket_open() to start the SSL 
> handshake. This failed with a EDC5167I so I added the POSIX(ON) pragma. 
> Restarting, the STC immediately failed in a call to BPX1MSS, rc=156, rsn= 
> 0D070201, which means:

I take it you are attaching your subtasks using MVS services. That won't happen 
if you use pthreads.

> JRAlreadySigSetUp: BPX1MSS found the process already set up for 
> signals
> Action: Only one task can be set up for signals at any one time.  
> Issue the signal unset (BPX1MSD) service on the task that did the last 
> setup and then reissue this service.
>
> So it seems I can only have POSIX(ON) in one TCB? That's a bit of a 
> showstopper. :(
>
> Thanks
> Robin
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] 
> On Behalf Of Charles Mills
> Sent: 14 March 2016 21:24
> To: [email protected]
> Subject: Re: Linking C module with SSL
>
> Yup ...
>
> Be aware that changing to POSIX(ON) will introduce other subtle changes in 
> behavior. For example, fopen()'s decision on what is a legacy dataset and 
> what is a UNIX file changes. I was surprised to see that DD:SYSPRINT was now 
> the name of a new UNIX file and happily created it under /u/! Really.
>
>> Is this telling me SSL can only be used under USS?
> Yes, but realize that USS is z/OS, and you can have a program that runs from 
> conventional JCL and looks externally like it could have been written in 1970 
> that in fact "runs under USS."
>
> Charles
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] 
> On Behalf Of Robin Atwood
> Sent: Monday, March 14, 2016 2:40 AM
> To: [email protected]
> Subject: Re: Linking C module with SSL
>
> Thanks. I had just spotted Charles's post back in 2012 with the same 
> problem and used a pragma. Now the init function fails with 202 
> (KEYRING OPEN ERROR) but that looks like an admin problem. :)
>
> ----------------------------------------------------------------------
> 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

----------------------------------------------------------------------
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