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