私はIBM MQに接続する15年のCプログラムを持っています。それは何かを同期しようとしているコードの一部を持っています。IBM MQの同期:必要な場合は、1つだけのMQがある場合
ただし、MQは1つしかありません。この同期方法を使用する必要がありますか?
#include "dte_mq.h"
#include <string.h>
#include <stdlib.h>
typedef struct tagDTE_QUEUE_DESCRIPTOR
{
MQHOBJ handle;
int IsSyncpointControled;
} DTE_QUEUE_DESCRIPTOR, *PDTE_QUEUE_DESCRIPTOR;
static MQHCONN sHConn = 0;
static MQLONG sCompCode = MQCC_OK;
static MQLONG sReason = MQRC_NONE;
static int sNumOpenQueues = 0;
static PDTE_QUEUE_DESCRIPTOR sQueues = NULL;
#define MAX_NUM_OPEN_QUEUES 10
for(i = 0; i < MAX_NUM_OPEN_QUEUES; i++)
{
if(sQueues[i].handle == -1)
{
*qd = i;
sQueues[i].handle = hObj;
sQueues[i].IsSyncpointControled = 0;
break;
}
}
はq=-1
の値ならば、それは0
とループから抜けるループに私たちは、今、このロジックが必要ですか?
必要な場合は、コード全体を質問に書き込むことができます。
'MAX_NUM_OPEN_QUEUES'が1になったら、ループは必要ありません。 –
qd - キュー記述子はどうでしょうか? – SamOl
表示されているコードは 'qd'の定義方法や使用方法を示していません。言うことは不可能です。 –