~ubuntu-branches/ubuntu/vivid/freerdp/vivid

« back to all changes in this revision

Viewing changes to winpr/libwinpr/utils/test/TestMessageQueue.c

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2014-11-11 12:20:50 UTC
  • mfrom: (1.1.9) (9.1.17 sid)
  • Revision ID: package-import@ubuntu.com-20141111122050-wyr8hrnwco9fcmum
Tags: 1.1.0~git20140921.1.440916e+dfsg1-2ubuntu1
* Merge with Debian unstable, remaining changes
  - Disable ffmpeg support
* Disable gstreamer support, this relies on gstreamer 0.10 and we don't want
  to add any more deps on that.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
#include <winpr/crt.h>
 
3
#include <winpr/thread.h>
 
4
#include <winpr/collections.h>
 
5
 
 
6
static void* message_queue_consumer_thread(void* arg)
 
7
{
 
8
        wMessage message;
 
9
        wMessageQueue* queue;
 
10
 
 
11
        queue = (wMessageQueue*) arg;
 
12
 
 
13
        while (MessageQueue_Wait(queue))
 
14
        {
 
15
                if (MessageQueue_Peek(queue, &message, TRUE))
 
16
                {
 
17
                        if (message.id == WMQ_QUIT)
 
18
                                break;
 
19
 
 
20
                        printf("Message.Type: %d\n", message.id);
 
21
                }
 
22
        }
 
23
 
 
24
        return NULL;
 
25
}
 
26
 
 
27
int TestMessageQueue(int argc, char* argv[])
 
28
{
 
29
        HANDLE thread;
 
30
        wMessageQueue* queue;
 
31
 
 
32
        queue = MessageQueue_New();
 
33
 
 
34
        thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) message_queue_consumer_thread, (void*) queue, 0, NULL);
 
35
 
 
36
        MessageQueue_Post(queue, NULL, 123, NULL, NULL);
 
37
        MessageQueue_Post(queue, NULL, 456, NULL, NULL);
 
38
        MessageQueue_Post(queue, NULL, 789, NULL, NULL);
 
39
        MessageQueue_PostQuit(queue, 0);
 
40
 
 
41
        WaitForSingleObject(thread, INFINITE);
 
42
 
 
43
        MessageQueue_Free(queue);
 
44
 
 
45
        return 0;
 
46
}