home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / x / xgrasp.zip / USLEEP.C < prev    next >
C/C++ Source or Header  |  1991-07-24  |  1KB  |  46 lines

  1. #ident "@(#)usleep.c    1.1 91/02/28 XGRASP"
  2. /*-
  3.  * usleep.c - OS dependant implementation of usleep().
  4.  *
  5.  * Copyright (c) 1991 by Patrick J. Naughton
  6.  *
  7.  * Permission to use, copy, modify, and distribute this software and its
  8.  * documentation for any purpose and without fee is hereby granted,
  9.  * provided that the above copyright notice appear in all copies and that
  10.  * both that copyright notice and this permission notice appear in
  11.  * supporting documentation.
  12.  *
  13.  * This file is provided AS IS with no warranties of any kind.  The author
  14.  * shall have no liability with respect to the infringement of copyrights,
  15.  * trade secrets or any patents by this file or any part thereof.  In no
  16.  * event will the author be liable for any lost revenue or profits or
  17.  * other special, indirect and consequential damages.
  18.  *
  19.  * Comments and additions should be sent to the author:
  20.  *
  21.  * Patrick J. Naughton
  22.  * Sun Microsystems
  23.  * 2550 Garcia Ave, MS 10-20
  24.  * Mountain View, CA 94043
  25.  * (415) 336-1080
  26.  *
  27.  */
  28.  
  29. #include <sys/types.h>
  30. #include <sys/time.h>
  31.  
  32. int
  33. usleep(usec)
  34.     unsigned long usec;
  35. {
  36. #ifdef SYSV
  37.     poll((struct poll *) 0, (size_t) 0, usec / 1000);    /* ms resolution */
  38. #else
  39.     struct timeval timeout;
  40.     timeout.tv_usec = usec % (unsigned long) 1000000;
  41.     timeout.tv_sec = usec / (unsigned long) 1000000;
  42.     select(0, (void *) 0, (void *) 0, (void *) 0, &timeout);
  43. #endif
  44.     return 0;
  45. }
  46.