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

Comparing libev/ev.c (file contents):
Revision 1.532 by root, Thu Mar 19 08:31:35 2020 UTC vs.
Revision 1.536 by root, Wed Aug 10 16:50:05 2022 UTC

34 * by deleting the provisions above and replace them with the notice 34 * by deleting the provisions above and replace them with the notice
35 * and other provisions required by the GPL. If you do not delete the 35 * and other provisions required by the GPL. If you do not delete the
36 * provisions above, a recipient may use your version of this file under 36 * provisions above, a recipient may use your version of this file under
37 * either the BSD or the GPL. 37 * either the BSD or the GPL.
38 */ 38 */
39
40#pragma clang diagnostic ignored "-Wunused-value"
41#pragma clang diagnostic ignored "-Wcomment"
42#pragma clang diagnostic ignored "-Wextern-initializer"
39 43
40/* this big block deduces configuration from config.h */ 44/* this big block deduces configuration from config.h */
41#ifndef EV_STANDALONE 45#ifndef EV_STANDALONE
42# ifdef EV_CONFIG_H 46# ifdef EV_CONFIG_H
43# include EV_CONFIG_H 47# include EV_CONFIG_H
491# endif 495# endif
492#endif 496#endif
493 497
494#if EV_USE_IOURING 498#if EV_USE_IOURING
495# include <sys/syscall.h> 499# include <sys/syscall.h>
496# if !SYS_io_uring_setup && __linux && !__alpha 500# if !SYS_io_uring_register && __linux && !__alpha
497# define SYS_io_uring_setup 425 501# define SYS_io_uring_setup 425
498# define SYS_io_uring_enter 426 502# define SYS_io_uring_enter 426
499# define SYS_io_uring_wregister 427 503# define SYS_io_uring_register 427
500# endif 504# endif
501# if SYS_io_uring_setup && EV_USE_EPOLL /* iouring backend requires epoll backend */ 505# if SYS_io_uring_setup && EV_USE_EPOLL /* iouring backend requires epoll backend */
502# define EV_NEED_SYSCALL 1 506# define EV_NEED_SYSCALL 1
503# else 507# else
504# undef EV_USE_IOURING 508# undef EV_USE_IOURING
4092 4096
4093 if (ecb_expect_true (!(flags & EVRUN_NOWAIT || idleall || !activecnt || pipe_write_skipped))) 4097 if (ecb_expect_true (!(flags & EVRUN_NOWAIT || idleall || !activecnt || pipe_write_skipped)))
4094 { 4098 {
4095 waittime = EV_TS_CONST (MAX_BLOCKTIME); 4099 waittime = EV_TS_CONST (MAX_BLOCKTIME);
4096 4100
4101#if EV_USE_MONOTONIC
4102 if (ecb_expect_true (have_monotonic))
4103 {
4097#if EV_USE_TIMERFD 4104#if EV_USE_TIMERFD
4098 /* sleep a lot longer when we can reliably detect timejumps */ 4105 /* sleep a lot longer when we can reliably detect timejumps */
4099 if (ecb_expect_true (timerfd >= 0)) 4106 if (ecb_expect_true (timerfd != -1))
4100 waittime = EV_TS_CONST (MAX_BLOCKTIME2); 4107 waittime = EV_TS_CONST (MAX_BLOCKTIME2);
4101#endif 4108#endif
4102#if !EV_PERIODIC_ENABLE 4109#if !EV_PERIODIC_ENABLE
4103 /* without periodics but with monotonic clock there is no need */ 4110 /* without periodics but with monotonic clock there is no need */
4104 /* for any time jump detection, so sleep longer */ 4111 /* for any time jump detection, so sleep longer */
4105 if (ecb_expect_true (have_monotonic))
4106 waittime = EV_TS_CONST (MAX_BLOCKTIME2); 4112 waittime = EV_TS_CONST (MAX_BLOCKTIME2);
4113#endif
4114 }
4107#endif 4115#endif
4108 4116
4109 if (timercnt) 4117 if (timercnt)
4110 { 4118 {
4111 ev_tstamp to = ANHE_at (timers [HEAP0]) - mn_now; 4119 ev_tstamp to = ANHE_at (timers [HEAP0]) - mn_now;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines