Purging a Queue

The server process or any of its threads can empty a queue of all its elements by calling DosPurgeQueue. This function is not available to client processes.

Warning: This is an unconditional purge of all elements in the queue.

The following code fragment shows how the owner of a queue can empty the queue of all data elements. Assume that the owner of the queue has saved the queue's handle (obtained in a previous call to DosCreateQueue) in QueueHandle.

    #define INCL_DOSQUEUES    /* Queue values */
    #include <os2.h>
    #include <stdio.h>

    HQUEUE   hqQueueHandle;     /* Queue handle */
    APIRET   ulrc;              /* Return code  */

    ulrc = DosPurgeQueue(hqQueueHandle);

    if (ulrc != 0) {
        printf("DosPurgeQueue error: return code = %ld",
               ulrc);
        return;
    }


[Back: Peeking at a Queue]
[Next: Closing a Queue]