Logo_UPNA

Laboratorio de Telemática

Cuarto curso de Ingeniería de Telecomunicación

sleep(3C)              C Library Functions              sleep(3C)


NAME
     sleep - suspend execution for interval

SYNOPSIS
     #include <unistd.h>

     unsigned sleep(unsigned seconds);

MT-LEVEL
     Safe

DESCRIPTION
     The current process is  suspended  from  execution  for  the
     number  of  seconds  specified  by the argument.  The actual
     suspension time may be less than that requested because  any
     caught signal will terminate the sleep() following execution
     of that signal's catching  routine.   Also,  the  suspension
     time  may  be  longer  than requested by an arbitrary amount
     because of the scheduling of other activity in  the  system.
     The value returned by sleep() will be the ``unslept'' amount
     (the requested time minus the time actually slept)  in  case
     the  caller  had an alarm set to go off earlier than the end
     of the requested sleep() time, or premature arousal  because
     of another caught signal.

     The routine is implemented by setting an  alarm  signal  and
     pausing  until it (or some other signal) occurs.  The previ-
     ous state of the alarm signal is saved  and  restored.   The
     calling  program may have set up an alarm signal before cal-
     ling sleep().  If the sleep() time exceeds  the  time  until
     such  alarm  signal, the process sleeps only until the alarm
     signal would have occurred.  The caller's alarm  catch  rou-
     tine  is  executed  just before the sleep() routine returns.
     But if the sleep() time is less  than  the  time  till  such
     alarm,  the  prior alarm time is reset to go off at the same
     time it would have without the intervening sleep().

SEE ALSO
     alarm(2), pause(2), signal(3C)

NOTES
     SIGALRM should not be blocked or ignored during  a  call  to
     sleep().   Only  a  prior  call  to alarm(2) should generate
     SIGALRM for the calling process during a call to sleep().

     In a multithreaded program,  only  the  invoking  thread  is
     suspended from execution.


SunOS 5.5.1         Last change: 22 Jan 1993                    1