delay()

Suspends a calling thread for a given length of time

Synopsis:

#include <unistd.h>

unsigned int delay( unsigned int duration );

Arguments:

duration
The number of milliseconds for which to suspend the calling thread from execution.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The delay() function suspends the calling thread for duration milliseconds.

The suspension time may be greater than the requested amount, due to the nature of time measurement (see the Tick, Tock: Understanding the Microkernel's Concept of Time chapter of the BlackBerry 10 OS Programmer's Guide), or due to the scheduling of other, higher-priority threads by the system.

Returns:

0 for success, or the number of unslept milliseconds if interrupted by a signal.

Errors:

If an error occurs, errno is set to:

EAGAIN
No timer resources were available to satisfy the request.

Examples:

#include <unistd.h>
#include <stdlib.h>

void play_sound( void )
{
    …
}

void stop_sound( void )
{
    …
}

int main( void )
{
    play_sound();
    delay( 500 );  /* delay for 1/2 second */
    stop_sound();

    return EXIT_SUCCESS;
}

Classification:

QNX 4

Safety:  
Cancellation point Yes
Interrupt handler No
Signal handler Yes
Thread Yes

Last modified: 2013-12-23

comments powered by Disqus