After changing from using the single CICS Sockets Server Listener TISRVLIS to CICS Multi Socket Server Listener TISRVMSL, have defined the CICS TRAN, PROG and EZACONFG entries.
However, when trying to run a client-server transaction, the following error occurs at the client:
TIRM621E: Error creating semaphore, can't access server
Release : 8.6
Component : CA Gen Run Time, Distributed
The "TIRM621E: Error creating semaphore, can't access server" client-side error is normally associated with CICS log showing an error "GIVESOCKET NOT TAKEN FOR SERVER ..." for the TISRVMSL (or TISRVLIS).
If that message is present in the CICS log it means the listener has taken the socket back thinking the server is not going to take it but the server then tries to take the socket. Increasing the EZACONFG parameter GIVTIME can normally resolve that problem by getting the listener to wait longer for the socket to be taken by the server e.g. if GIVTIME is not already at a value of 10 then please try 10 or if the problem persists try a higher value.
After checking if the EZACONFG file parameter values for ACCTIME, GIVTIME and REATIME are the same as those used for working TISRVLIS it was found they were incorrect and the problem was resolved after they were updated.