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