Annotation of coherent/g/usr/lib/uucp/tay104/unix/pause.c, revision 1.1.1.1

1.1       root        1: /* pause.c
                      2:    Pause for half a second.  */
                      3: 
                      4: #include "uucp.h"
                      5: 
                      6: #include "sysdep.h"
                      7: #include "system.h"
                      8: 
                      9: /* Pick a timing routine to use.  I somewhat arbitrarily picked usleep
                     10:    above nap above napms above poll above select.  */
                     11: #if HAVE_USLEEP || HAVE_NAP || HAVE_NAPMS || HAVE_POLL
                     12: #undef HAVE_SELECT
                     13: #define HAVE_SELECT 0
                     14: #endif
                     15: 
                     16: #if HAVE_USLEEP || HAVE_NAP || HAVE_NAPMS
                     17: #undef HAVE_POLL
                     18: #define HAVE_POLL 0
                     19: #endif
                     20: 
                     21: #if HAVE_USLEEP || HAVE_NAP
                     22: #undef HAVE_NAPMS
                     23: #define HAVE_NAPMS 0
                     24: #endif
                     25: 
                     26: #if HAVE_USLEEP
                     27: #undef HAVE_NAP
                     28: #define HAVE_NAP 0
                     29: #endif
                     30: 
                     31: #if HAVE_SELECT
                     32: #include <sys/time.h>
                     33: #if HAVE_SYS_SELECT_H
                     34: #include <sys/select.h>
                     35: #endif
                     36: #endif
                     37: 
                     38: #if HAVE_POLL
                     39: #if HAVE_STROPTS_H
                     40: #include <stropts.h>
                     41: #endif
                     42: #if HAVE_POLL_H
                     43: #include <poll.h>
                     44: #endif
                     45: #if ! HAVE_STROPTS_H && ! HAVE_POLL_H
                     46: /* We need a definition for struct pollfd, although it doesn't matter
                     47:    what it contains.  */
                     48: struct pollfd
                     49: {
                     50:   int idummy;
                     51: };
                     52: #endif /* ! HAVE_STROPTS_H && ! HAVE_POLL_H */
                     53: #endif /* HAVE_POLL */
                     54: 
                     55: #if HAVE_TIME_H
                     56: #if HAVE_SYS_TIME_AND_TIME_H || ! USE_SELECT_TIMER
                     57: #include <time.h>
                     58: #endif
                     59: #endif
                     60: 
                     61: void
                     62: usysdep_pause ()
                     63: {
                     64: #if HAVE_NAPMS
                     65:   napms (500);
                     66: #endif /* HAVE_NAPMS */
                     67: #if HAVE_NAP
                     68: #if HAVE_HUNDREDTHS_NAP
                     69:   nap (50L);
                     70: #else
                     71:   nap (500L);
                     72: #endif /* ! HAVE_HUNDREDTHS_NAP */
                     73: #endif /* HAVE_NAP */
                     74: #if HAVE_USLEEP
                     75:   usleep (500 * (long) 1000);
                     76: #endif /* HAVE_USLEEP */
                     77: #if HAVE_POLL
                     78:   struct pollfd sdummy;
                     79: 
                     80:   /* We need to pass an unused pollfd structure because poll checks
                     81:      the address before checking the number of elements.  */
                     82:   poll (&sdummy, 0, 500);
                     83: #endif /* HAVE_POLL */
                     84: #if HAVE_SELECT
                     85:   struct timeval s;
                     86: 
                     87:   s.tv_sec = 0;
                     88:   s.tv_usec = 500 * (long) 1000;
                     89:   select (0, (pointer) NULL, (pointer) NULL, (pointer) NULL, &s);
                     90: #endif /* USE_SELECT_TIMER */
                     91: #if ! HAVE_NAPMS && ! HAVE_NAP && ! HAVE_USLEEP
                     92: #if ! USE_SELECT_TIMER && ! HAVE_POLL
                     93:   sleep (1);
                     94: #endif /* ! USE_SELECT_TIMER && ! HAVE_POLL */
                     95: #endif /* ! HAVE_NAPMS && ! HAVE_NAP && ! HAVE_USLEEP */
                     96: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.