Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sleep(3C) — DG/UX 4.31

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alarm(2)

pause(2)

signal(2)



     sleep(3C)                  DG/UX 4.31                   sleep(3C)



     NAME
          sleep - suspend execution for interval

     SYNOPSIS
          unsigned sleep (seconds)
          unsigned seconds;

     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 for two
          reasons: (1) Because scheduled wakeups occur at fixed 1-
          second intervals, (on the second, according to an internal
          clock) and (2) 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 due to 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 due to another caught signal.

          The routine is implemented by setting an alarm signal and
          pausing until it (or some other signal) occurs.  The
          previous state of the alarm signal is saved and restored.
          The calling program may have set up an alarm signal before
          calling sleep.  If the sleep time exceeds the time till such
          alarm signal, the process sleeps only until the alarm signal
          would have occurred.  The caller's alarm catch routine 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(2).

     EXAMPLE
          /* Program test for the sleep() function */
          unsigned int  hold;
          main() {
              printf("How long a nap (in seconds)?\n");
              scanf("%d", &hold);
              sleep(hold);
              printf("I'm awake again.\n");
          }

          If you execute the program test, and answer its query with
          5, it pauses for 5 seconds, then generates the following:

          I'm awake again.



     Licensed material--property of copyright holder(s)         Page 1



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026