ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.c
(Generate patch)

Comparing libev/ev.c (file contents):
Revision 1.347 by root, Fri Oct 15 22:44:41 2010 UTC vs.
Revision 1.348 by root, Fri Oct 15 22:48:25 2010 UTC

470 470
471#define MIN_TIMEJUMP 1. /* minimum timejump that gets detected (if monotonic clock available) */ 471#define MIN_TIMEJUMP 1. /* minimum timejump that gets detected (if monotonic clock available) */
472#define MAX_BLOCKTIME 59.743 /* never wait longer than this time (to detect time jumps) */ 472#define MAX_BLOCKTIME 59.743 /* never wait longer than this time (to detect time jumps) */
473 473
474#define EV_TV_SET(tv,t) do { tv.tv_sec = (long)t; tv.tv_usec = (long)((t - tv.tv_sec) * 1e6); } while (0) 474#define EV_TV_SET(tv,t) do { tv.tv_sec = (long)t; tv.tv_usec = (long)((t - tv.tv_sec) * 1e6); } while (0)
475#define EV_TS_SET(ts,t) do { ts.tv_sec = (long)t; tv.tv_nsec = (long)((t - tv.tv_sec) * 1e9); } while (0) 475#define EV_TS_SET(ts,t) do { ts.tv_sec = (long)t; ts.tv_nsec = (long)((t - ts.tv_sec) * 1e9); } while (0)
476 476
477#if __GNUC__ >= 4 477#if __GNUC__ >= 4
478# define expect(expr,value) __builtin_expect ((expr),(value)) 478# define expect(expr,value) __builtin_expect ((expr),(value))
479# define noinline __attribute__ ((noinline)) 479# define noinline __attribute__ ((noinline))
480#else 480#else
771 if (delay > 0.) 771 if (delay > 0.)
772 { 772 {
773#if EV_USE_NANOSLEEP 773#if EV_USE_NANOSLEEP
774 struct timespec ts; 774 struct timespec ts;
775 775
776 EV_SET_TS (ts, delay); 776 EV_TS_SET (ts, delay);
777 nanosleep (&ts, 0); 777 nanosleep (&ts, 0);
778#elif defined(_WIN32) 778#elif defined(_WIN32)
779 Sleep ((unsigned long)(delay * 1e3)); 779 Sleep ((unsigned long)(delay * 1e3));
780#else 780#else
781 struct timeval tv; 781 struct timeval tv;
782 782
783 /* here we rely on sys/time.h + sys/types.h + unistd.h providing select */ 783 /* here we rely on sys/time.h + sys/types.h + unistd.h providing select */
784 /* something not guaranteed by newer posix versions, but guaranteed */ 784 /* something not guaranteed by newer posix versions, but guaranteed */
785 /* by older ones */ 785 /* by older ones */
786 EV_SET_TV (tv, delay); 786 EV_TS_SET (tv, delay);
787 select (0, 0, 0, 0, &tv); 787 select (0, 0, 0, 0, &tv);
788#endif 788#endif
789 } 789 }
790} 790}
791 791

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines