xref: /titanic_54/usr/src/man/man5/timerfd.5 (revision 6a72db4a7fa12c3e0d1c1cf91a07390739fa0fbf)
1*6a72db4aSBryan Cantrill.\"
2*6a72db4aSBryan Cantrill.\" This file and its contents are supplied under the terms of the
3*6a72db4aSBryan Cantrill.\" Common Development and Distribution License ("CDDL"), version 1.0.
4*6a72db4aSBryan Cantrill.\" You may only use this file in accordance with the terms of version
5*6a72db4aSBryan Cantrill.\" 1.0 of the CDDL.
6*6a72db4aSBryan Cantrill.\"
7*6a72db4aSBryan Cantrill.\" A full copy of the text of the CDDL should have accompanied this
8*6a72db4aSBryan Cantrill.\" source.  A copy of the CDDL is also available via the Internet at
9*6a72db4aSBryan Cantrill.\" http://www.illumos.org/license/CDDL.
10*6a72db4aSBryan Cantrill.\"
11*6a72db4aSBryan Cantrill.\"
12*6a72db4aSBryan Cantrill.\" Copyright (c) 2015, Joyent, Inc. All Rights Reserved.
13*6a72db4aSBryan Cantrill.\"
14*6a72db4aSBryan Cantrill.Dd Feb 23, 2015
15*6a72db4aSBryan Cantrill.Dt TIMERFD 5
16*6a72db4aSBryan Cantrill.Os
17*6a72db4aSBryan Cantrill.Sh NAME
18*6a72db4aSBryan Cantrill.Nm timerfd
19*6a72db4aSBryan Cantrill.Nd Linux-compatible timer notification facility
20*6a72db4aSBryan Cantrill.Sh SYNOPSIS
21*6a72db4aSBryan Cantrill.In sys/timerfd.h
22*6a72db4aSBryan Cantrill.Sh DESCRIPTION
23*6a72db4aSBryan Cantrill.Nm
24*6a72db4aSBryan Cantrillis a Linux-borne facility for creating POSIX timers and
25*6a72db4aSBryan Cantrillreceiving their subsequent events via a file descriptor.
26*6a72db4aSBryan CantrillThe facility itself is arguably unnecessary:
27*6a72db4aSBryan Cantrillportable code can either use the timeout value present in
28*6a72db4aSBryan Cantrill.Xr poll 2 /
29*6a72db4aSBryan Cantrill.Xr port_get 3C
30*6a72db4aSBryan Cantrillor -- if this is deemed of unacceptably poor resolution -- create a POSIX timer
31*6a72db4aSBryan Cantrillvia
32*6a72db4aSBryan Cantrill.Xr timer_create 3C
33*6a72db4aSBryan Cantrilland use the resulting signal to induce an
34*6a72db4aSBryan Cantrill.Sy EINTR
35*6a72db4aSBryan Cantrillto polling threads.  (For code that need not be
36*6a72db4aSBryan Cantrillportable, the
37*6a72db4aSBryan Cantrill.Sy SIGEV_PORT
38*6a72db4aSBryan Cantrillsignal notification allows for explicit, event-oriented timer notification to be
39*6a72db4aSBryan Cantrillsent to a specified port; see
40*6a72db4aSBryan Cantrill.Xr signal.h 3HEAD
41*6a72db4aSBryan Cantrillfor details.) This facility therefore exists only to accommodate Linux-borne
42*6a72db4aSBryan Cantrillapplications and binaries; it is compatible with its Linux antecedent in both
43*6a72db4aSBryan Cantrillbinary interface and in semantics.
44*6a72db4aSBryan Cantrill.Sh SEE ALSO
45*6a72db4aSBryan Cantrill.Xr timerfd_create 3C ,
46*6a72db4aSBryan Cantrill.Xr timerfd_gettime 3C ,
47*6a72db4aSBryan Cantrill.Xr timerfd_settime 3C
48