Пример #1
0
int main(int argc, char* argv[]) {
    HANDLE hReceiver = NULL;
    unsigned int tReceiver = 0;
    char c = 0;
    MSG_Q_ID msgQTest = NULL;
    int maxMsgs = 3;

    /* Fix the eclipse CDT output issue */
    setbuf(stdout, NULL);
    setbuf(stderr, NULL);

    msgQTest = msgQOpen("test");
    if(msgQTest == NULL) {
		msgQTest = msgQCreateEx(maxMsgs, 100, MSG_Q_FIFO, "test");
		printf("%s: message queue created.\n", __func__);
    }
	else {
		printf("%s: message queue opened.\n", __func__);
	}

    hReceiver = (HANDLE)CreateThread(NULL, 0,
            (LPTHREAD_START_ROUTINE)msgQReceiver,
    		msgQTest, 0, (DWORD*)&tReceiver);

    while((c = getchar()) != 'q') {
        msgQShow(msgQTest);
    }

    CloseHandle(hReceiver);

    msgQShow(msgQTest);

    msgQDelete(msgQTest);

    return 0;
}
Пример #2
0
void logShow (
    void
    )
{
    int i;

    printf("%3s %3s\n", "num", "fd");
    printf("%3s %3s\n", "---", "--");

    for (i = 0; i < numLogFds; i++) {
        printf("%3d %3d\n", i, logFd[i]);
    }

    msgQShow(logMsgQId, 1);
}