kcheckpass: Add support in for non-Linux platforms via kevent.

Authored by tcberner on May 12 2017, 7:48 PM.

Description

kcheckpass: Add support in for non-Linux platforms via kevent.

Summary:

  • signalfd() is a Linux specific api: SIGNALFD(2): ` CONFORMING TO top

    signalfd() and signalfd4() are Linux-specific. `
  • FreeBSD and OSX and others can use the widely available kevent/kqueue api for a similar effect.

We let the kernel notify us via kevent() [1], if there is a SIGUSR1 or SIGUSR2, and then fetch the signal using sigwaitinfo() [2].

[1] https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2
[2] https://www.freebsd.org/cgi/man.cgi?query=sigwaitinfo&sektion=2

This seems to work fine on FreeBSD.

Reviewers: FreeBSD, graesslin

Subscribers: plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D5825

Details

Committed
tcbernerMay 29 2017, 6:06 PM
Differential Revision
D5825: kcheckpass: Add support in for non-Linux platforms via kevent.
Parents
R133:e4484f0de7d2: Update version number for 5.10.0 GIT_SILENT
Branches
Unknown
Tags
Unknown