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; }
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); }