pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/libepoll-shim libepoll-shim: Fix DESCR, pkglint ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/089ffc611d3e
branches:  trunk
changeset: 382755:089ffc611d3e
user:      nia <nia%pkgsrc.org@localhost>
date:      Thu Aug 04 14:39:16 2022 +0000

description:
libepoll-shim: Fix DESCR, pkglint complains it's too long

diffstat:

 devel/libepoll-shim/DESCR |  50 +---------------------------------------------
 1 files changed, 2 insertions(+), 48 deletions(-)

diffs (54 lines):

diff -r 9d25653acc4c -r 089ffc611d3e devel/libepoll-shim/DESCR
--- a/devel/libepoll-shim/DESCR Thu Aug 04 12:32:21 2022 +0000
+++ b/devel/libepoll-shim/DESCR Thu Aug 04 14:39:16 2022 +0000
@@ -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