pthread_cond_timedwait with setclock(CLOCK_MONOTONIC) times out early

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Sat Dec 1 04:27:00 GMT 2018


On 2018-11-30 05:56, Corinna Vinschen wrote:
> On Nov 30 07:43, James E. King III wrote:
>> On Fri, Nov 30, 2018 at 7:23 AM Corinna Vinschen wrote:
>>> On Nov 29 17:38, James E. King III wrote:
>>>> On Thu, Nov 29, 2018 at 5:18 AM Corinna Vinschen wrote:
>>>>> I created a patch and uploaded new developer snapshots to
>>>>> https://cygwin.com/snapshots/  Please give them a try.
>>>> This fixed the issue for me.  What's the best way to detect cygwin
>>>> with this support?
>>> This will show up in version 2.12.0(*) so checking the release field
>>> from uname(2) should do the trick.
>> Is there a programmatic way to check this without having to parse a
>> bunch of char[20] from utsname.h?
> How would you do this on Linux?

Same:
https://stackoverflow.com/questions/46280456/check-kernel-version-at-runtime-in-c

- read /proc/version which is generated from utsname fields (or vice versa)
using e.g fscanf

$ head /proc/version
CYGWIN_NT-10.0 version 2.11.2(0.329/5/3) (corinna@calimero.vinschen.de) (gcc
version 7.3.0 20180125 (Fedora Cygwin 7.3.0-2) (GCC) ) 2018-11-08 14:34

- read (or source) /{etc,usr/lib}/os-release VERSION_ID line (or variable):

$ head /{etc,usr/lib}/os-release
==> /etc/os-release <==
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

==> /usr/lib/os-release <==
... [same]

Could also be supported under Cygwin:

$ cyg-os-release.sh | tee /usr/lib/os-release
PRETTY_NAME="Cygwin 64 2.11.2 2018-11-08"
NAME=Cygwin
ID=cygwin
ID_LIKE=msys mingw
VARIANT="64"
VARIANT_ID="x86_64"
VERSION="2.11.2 (0.329/5/3) 2018-11-08 14:34"
VERSION_ID="2.11.2"
BUILD_ID="0.329/5/3 2018-11-08 14:34"
CPE_NAME="cpe:/a:cygwin:cygwin:2.11.2::~~~~x64~Windows%3e%3d6.0"
HOME_URL="https://cygwin.com/"
SUPPORT_URL="https://cygwin.com/ml/cygwin/"
BUG_REPORT_URL="https://cygwin.com/ml/cygwin/"

$ (cd /etc; ln -fsv ../usr/lib/os-release .)
'./os-release' -> '../usr/lib/os-release'

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list