xref: /petsc/src/sys/utils/psleep.c (revision b98bf947cc9766ed875b3f25952cba8779f47264)
1e5c89e4eSSatish Balay #define PETSC_DLL
2e5c89e4eSSatish Balay 
3e5c89e4eSSatish Balay #include "petsc.h"                 /*I   "petsc.h"    I*/
4e5c89e4eSSatish Balay #if defined (PETSC_HAVE_UNISTD_H)
5e5c89e4eSSatish Balay #include <unistd.h>
6e5c89e4eSSatish Balay #endif
7e5c89e4eSSatish Balay #if defined (PETSC_HAVE_STDLIB_H)
8e5c89e4eSSatish Balay #include <stdlib.h>
9e5c89e4eSSatish Balay #endif
10e5c89e4eSSatish Balay #if defined (PETSC_HAVE_DOS_H)   /* borland */
11e5c89e4eSSatish Balay #include <dos.h>
12e5c89e4eSSatish Balay #endif
13e5c89e4eSSatish Balay #include "petscfix.h"
14e5c89e4eSSatish Balay 
15e5c89e4eSSatish Balay #undef __FUNCT__
16e5c89e4eSSatish Balay #define __FUNCT__ "PetscSleep"
17e5c89e4eSSatish Balay /*@
18e5c89e4eSSatish Balay    PetscSleep - Sleeps some number of seconds.
19e5c89e4eSSatish Balay 
20e5c89e4eSSatish Balay    Not Collective
21e5c89e4eSSatish Balay 
22e5c89e4eSSatish Balay    Input Parameters:
23e5c89e4eSSatish Balay .  s - number of seconds to sleep
24e5c89e4eSSatish Balay 
25e5c89e4eSSatish Balay    Notes:
26e5c89e4eSSatish Balay       If s is negative waits for keyboard input
27e5c89e4eSSatish Balay 
28e5c89e4eSSatish Balay    Level: intermediate
29e5c89e4eSSatish Balay 
30e5c89e4eSSatish Balay    Concepts: sleeping
31e5c89e4eSSatish Balay    Concepts: pause
32e5c89e4eSSatish Balay    Concepts: waiting
33e5c89e4eSSatish Balay 
34e5c89e4eSSatish Balay @*/
35e5c89e4eSSatish Balay PetscErrorCode PETSC_DLLEXPORT PetscSleep(int s)
36e5c89e4eSSatish Balay {
37e5c89e4eSSatish Balay   PetscFunctionBegin;
38e5c89e4eSSatish Balay   if (s < 0) getc(stdin);
39e5c89e4eSSatish Balay #if defined (PETSC_HAVE_SLEEP)
40e5c89e4eSSatish Balay   else       sleep(s);
41e5c89e4eSSatish Balay #elif defined (PETSC_HAVE__SLEEP) && defined(PETSC_HAVE__SLEEP_MILISEC)
42e5c89e4eSSatish Balay   else       _sleep(s*1000);
43e5c89e4eSSatish Balay #elif defined (PETSC_HAVE__SLEEP)
44e5c89e4eSSatish Balay   else       _sleep(s);
45e5c89e4eSSatish Balay #else
46*b98bf947SSatish Balay   SETERRQ(PETSC_ERR_SUP_SYS,"No support for sleep() on this machine")
47e5c89e4eSSatish Balay #endif
48e5c89e4eSSatish Balay   PetscFunctionReturn(0);
49e5c89e4eSSatish Balay }
50e5c89e4eSSatish Balay 
51