16:05:52.362395 1421496.1 Hconn:
16:05:52.362404 1421496.1 0x0000: 00000015 |.... |
16:05:52.362412 1421496.1 Objdesc:
.........
16:05:52.362628 1421496.1 --}! MQOPEN rc=MQRC_HCONN_ERROR
16:05:52.362636 1421496.1 -}! MQOPEN rc=MQRC_HCONN_ERROR
16:05:52.362646 1421496.1 -{ xcsCheckPointer
16:05:52.362655 1421496.1 -} xcsCheckPointer rc=OK
16:05:52.362684 1421496.1 ImqObject:pen (error): reason code 2018 on MQOPEN for
16:05:52.362694 1421496.1 }! ImqObject:pen rc=MQRC_HCONN_ERROR
{code}
The call to connect() returns directly with the ALREADY_CONNETED reason code.
And then the open() call goes to the lower layer code and fails with the HCONN_ERROR code.

Does anybody understand why this fails ? Do I have to issue a disconnect() and the again a connect() call when I get the ALREADY_CONNECTED reason code ?

The code is executed in a multi-threaded env. but the ImqQueueManager and ImqQueue objects are not shared between threads.
The client channels definitions are done through the CDT files. The channels are defined to use SSL.

Thanks for your help.