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

Comparing libev/ev.3 (file contents):
Revision 1.117 by root, Fri Dec 20 20:51:46 2019 UTC vs.
Revision 1.118 by root, Sat Dec 21 16:11:51 2019 UTC

131.\} 131.\}
132.rm #[ #] #H #V #F C 132.rm #[ #] #H #V #F C
133.\" ======================================================================== 133.\" ========================================================================
134.\" 134.\"
135.IX Title "LIBEV 3" 135.IX Title "LIBEV 3"
136.TH LIBEV 3 "2019-12-20" "libev-4.27" "libev - high performance full featured event loop" 136.TH LIBEV 3 "2019-12-21" "libev-4.31" "libev - high performance full featured event loop"
137.\" For nroff, turn off justification. Always turn off hyphenation; it makes 137.\" For nroff, turn off justification. Always turn off hyphenation; it makes
138.\" way too many mistakes in technical documents. 138.\" way too many mistakes in technical documents.
139.if n .ad l 139.if n .ad l
140.nh 140.nh
141.SH "NAME" 141.SH "NAME"
593threads that are not interested in handling them. 593threads that are not interested in handling them.
594.Sp 594.Sp
595Signalfd will not be used by default as this changes your signal mask, and 595Signalfd will not be used by default as this changes your signal mask, and
596there are a lot of shoddy libraries and programs (glib's threadpool for 596there are a lot of shoddy libraries and programs (glib's threadpool for
597example) that can't properly initialise their signal masks. 597example) that can't properly initialise their signal masks.
598.ie n .IP """EVFLAG_NOSIGMASK""" 4
599.el .IP "\f(CWEVFLAG_NOSIGMASK\fR" 4
600.IX Item "EVFLAG_NOSIGMASK"
601When this flag is specified, then libev will avoid to modify the signal
602mask. Specifically, this means you have to make sure signals are unblocked
603when you want to receive them.
604.Sp
605This behaviour is useful when you want to do your own signal handling, or
606want to handle signals only in specific threads and want to avoid libev
607unblocking the signals.
608.Sp
609It's also required by \s-1POSIX\s0 in a threaded program, as libev calls
610\&\f(CW\*(C`sigprocmask\*(C'\fR, whose behaviour is officially unspecified.
598.ie n .IP """EVFLAG_NOTIMERFD""" 4 611.ie n .IP """EVFLAG_NOTIMERFD""" 4
599.el .IP "\f(CWEVFLAG_NOTIMERFD\fR" 4 612.el .IP "\f(CWEVFLAG_NOTIMERFD\fR" 4
600.IX Item "EVFLAG_NOTIMERFD" 613.IX Item "EVFLAG_NOTIMERFD"
601When this flag is specified, the libev will avoid using a \f(CW\*(C`timerfd\*(C'\fR to 614When this flag is specified, the libev will avoid using a \f(CW\*(C`timerfd\*(C'\fR to
602detect time jumps. It will still be able to detect time jumps, but takes 615detect time jumps. It will still be able to detect time jumps, but takes
603longer and has a lower accuracy in doing so, but saves a file descriptor 616longer and has a lower accuracy in doing so, but saves a file descriptor
604per loop. 617per loop.
605.ie n .IP """EVFLAG_NOSIGMASK""" 4
606.el .IP "\f(CWEVFLAG_NOSIGMASK\fR" 4
607.IX Item "EVFLAG_NOSIGMASK"
608When this flag is specified, then libev will avoid to modify the signal
609mask. Specifically, this means you have to make sure signals are unblocked
610when you want to receive them.
611.Sp 618.Sp
612This behaviour is useful when you want to do your own signal handling, or 619The current implementation only tries to use a \f(CW\*(C`timerfd\*(C'\fR when the first
613want to handle signals only in specific threads and want to avoid libev 620\&\f(CW\*(C`ev_periodic\*(C'\fR watcher is started and falls back on other methods if it
614unblocking the signals. 621cannot be created, but this behaviour might change in the future.
615.Sp
616It's also required by \s-1POSIX\s0 in a threaded program, as libev calls
617\&\f(CW\*(C`sigprocmask\*(C'\fR, whose behaviour is officially unspecified.
618.Sp
619This flag's behaviour will become the default in future versions of libev.
620.ie n .IP """EVBACKEND_SELECT"" (value 1, portable select backend)" 4 622.ie n .IP """EVBACKEND_SELECT"" (value 1, portable select backend)" 4
621.el .IP "\f(CWEVBACKEND_SELECT\fR (value 1, portable select backend)" 4 623.el .IP "\f(CWEVBACKEND_SELECT\fR (value 1, portable select backend)" 4
622.IX Item "EVBACKEND_SELECT (value 1, portable select backend)" 624.IX Item "EVBACKEND_SELECT (value 1, portable select backend)"
623This is your standard \fBselect\fR\|(2) backend. Not \fIcompletely\fR standard, as 625This is your standard \fBselect\fR\|(2) backend. Not \fIcompletely\fR standard, as
624libev tries to roll its own fd_set with no limits on the number of fds, 626libev tries to roll its own fd_set with no limits on the number of fds,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines