pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/libepoll-shim
Module Name: pkgsrc
Committed By: nia
Date: Thu Aug 4 14:39:17 UTC 2022
Modified Files:
pkgsrc/devel/libepoll-shim: DESCR
Log Message:
libepoll-shim: Fix DESCR, pkglint complains it's too long
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/libepoll-shim/DESCR
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/libepoll-shim/DESCR
diff -u pkgsrc/devel/libepoll-shim/DESCR:1.1 pkgsrc/devel/libepoll-shim/DESCR:1.2
--- pkgsrc/devel/libepoll-shim/DESCR:1.1 Mon May 3 17:17:17 2021
+++ pkgsrc/devel/libepoll-shim/DESCR Thu Aug 4 14:39:16 2022
@@ -1,48 +1,2 @@
-This is a small library that implements epoll on top of kqueue. It
-has been successfully used to port libinput, libevdev, Wayland and
-more software to FreeBSD: https://www.freshports.org/devel/libepoll-shim/
-
-It may be useful for porting other software that uses epoll as well.
-
-The library provides implementation of Linux timerfd_create(2) related
-APIs, eventfd(2), signalfd(2).
-
-However, this library contains some very ugly hacks and workarounds.
-For example:
-
-- When using timerfd, signalfd or eventfd, the system calls read,
- write and close are redefined as macros to internal helper
- functions. This is needed as there is some internal context that
- has to be free'd properly. This means that you shouldn't create
- a timerfd/signalfd in one part of a program and close it in a
- different part where sys/timerfd.h isn't included. The context
- would leak. Luckily, software such as libinput behaves very nicely
- and puts all timerfd related code in a single source file.
-
-- There is limited support for file descriptors that lack support
- for kqueue but are supported by poll(2). This includes graphics
- or sound devices under /dev. Those descriptors are handled in an
- outer poll(2) loop. Edge triggering using EPOLLET will not work.
-
-- Shimmed file descriptors cannot be shared between processes. On
- fork() those fds are closed. When trying to pass a shimmed fd to
- another process the sendmsg call will return EOPNOTSUPP. In most
- cases sharing epoll/timerfd/signalfd is a bad idea anyway, but
- there are some legitimate use cases (for example sharing semaphore
- eventfds, issue #23). When the OS natively supports eventfds (as
- is the case for FreeBSD >= 13) this library won't provide eventfd
- shims or the sys/eventfd.h header.
-
-- There is no proper notification mechanism for changes to the
- system CLOCK_REALTIME clock on BSD systems. Also, kevent
- EVFILT_TIMERs use the system monotonic clock as reference.
- Therefore, in order to implement absolute (TFD_TIMER_ABSTIME)
- CLOCK_REALTIME timerfds or cancellation support
- (TFD_TIMER_CANCEL_ON_SET), a thread is spawned that periodically
- polls the system boot time for changes to the realtime clock.
-
-The following operating systems are supported:
-
-FreeBSD >= 11.4, >= 12.2, >= 13.0
-NetBSD >= 9.1
-OpenBSD >= 6.7
+This is a small library that implements epoll on top of kqueue, allowing
+porting software developed for Linux to BSD systems.
Home |
Main Index |
Thread Index |
Old Index