-1
我有一個15年的C程序連接到IBM MQ。它有一部分代碼,它在嘗試同步某些內容時,有幾個MQ,這些MQ來自數據庫。同步IBM MQ:是否需要,如果我們只有一個MQ
但是現在我們只有一個MQ。我必須使用這種同步方法嗎?
#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';這是不可能的。 –