Bug 449114

Summary: Commit 69f851426fbab1d7d841eb4ce066a52022129ed7 of kdesu bumped glibc requirement to 2.34
Product: [Frameworks and Libraries] frameworks-kdesu Reporter: bluescreenavenger
Component: generalAssignee: kdelibs bugs <kdelibs-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description bluescreenavenger 2022-01-25 02:15:42 UTC
69f851426fbab1d7d841eb4ce066a52022129ed7 calls the function close_range()
which seems to be added in glibc 2.34 https://man7.org/linux/man-pages/man2/close_range.2.html
Comment 1 Ahmad Samir 2022-01-31 12:46:50 UTC
Git commit 1b62771816c4bf91d3aa178a991ecaee544e181c by Ahmad Samir.
Committed on 31/01/2022 at 12:21.
Pushed by fvogt into branch 'master'.

Fix build on glibc < 2.34

The close_range function was added in glibc in version 2.34; for older
versions use syscall(SYS_close_range.....).

Also since close_range was first avaiable in Kernel 5.9, for older kernels
fallback to iterating over /proc/self/fd/ and closing the fd's manually
(using opendir/closedir/readdir as suggested by Fabian Vogt).

M  +2    -0    src/kdesud/CMakeLists.txt
M  +2    -0    src/kdesud/config-kdesud.h.cmake
M  +59   -5    src/kdesud/kdesud.cpp

https://invent.kde.org/frameworks/kdesu/commit/1b62771816c4bf91d3aa178a991ecaee544e181c
Comment 2 bluescreenavenger 2022-01-31 13:25:55 UTC
Thanks!