X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:reply-to:subject:to:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=c7/FRgEMcvtukSUA 2cBD7uafQradPWFi6QIC9FsMuOTbbV4Ocn42reOYOM0M53JwVmgEnlbkSlhAagvh Ns3F8darBzh4kxYC3l+n1GQzySuBryDtBmE/mxv3sL7LK9awKpmJu7pyabZWOXFs q4nOAdPT6QCYIwfehmvLl9lmIQg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:reply-to:subject:to:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=dHzfuW91HYEMEBIYvZZoLW 9idWQ=; b=j8msNvhp5gHlV4igmCiVXoqNjjBE3ZO03OECpvSlbzGrZetQQHPlOw T2GA/x0xWjDAKzie/wKZT3WVrCin7d7YjqK+Y7EisP3LjtOxhRuN88DCnoHKnPUH G0JjFzt6J9tf6vtiL9aVV/tMVNlXXN/Hugj6RGTCJhFipvsKAQA7o= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=staff, disturbing, Take, discretion X-HELO: smtp-out-no.shaw.ca Reply-To: Brian DOT Inglis AT SystematicSw DOT ab DOT ca Subject: Re: pthread_cond_timedwait with setclock(CLOCK_MONOTONIC) times out early To: cygwin AT cygwin DOT com References: <20181126153545 DOT GM30649 AT calimero DOT vinschen DOT de> <20181126164657 DOT GN30649 AT calimero DOT vinschen DOT de> <20181129101821 DOT GZ30649 AT calimero DOT vinschen DOT de> <20181130121429 DOT GF30649 AT calimero DOT vinschen DOT de> <20181130125633 DOT GH30649 AT calimero DOT vinschen DOT de> <5b0bcf7f-096d-c259-ce25-9511d4bccf84 AT SystematicSw DOT ab DOT ca> <20181201095322 DOT GN30649 AT calimero DOT vinschen DOT de> From: Brian Inglis Openpgp: preference=signencrypt Message-ID: Date: Sat, 1 Dec 2018 08:49:26 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.2 MIME-Version: 1.0 In-Reply-To: <20181201095322.GN30649@calimero.vinschen.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes On 2018-12-01 02:53, Corinna Vinschen wrote: > On Nov 30 21:27, Brian Inglis wrote: >> 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 AT calimero DOT vinschen DOT 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: > > We don't have OS releases. Every component in Cygwin has its own > release cycle and the version number of the Cygwin DLL is *not* a > os release number. What sense would this file have for us? Cygwin to me is a Unix package distro which provides bits and flavours of POSIX, Linux, and BSD userlands and APIs, that happens to be based on top of Windows, and provides extensive functionality and interoperability with and under that environment, which makes it easier working for or in many orgs and with most users and systems. The Cygwin release is similar to Linux kernel versions, which may vary independent of distros and releases, but is also similar to distro releases like Debian 10 Buster or Ubuntu 19 Disco Dingo, which mark the time and progress e.g. 1.0 (RTM), 1.5 (Legacy), 1.7 (No9x/IPv6/LSA/charsets/IPC), 2.0 (NoPasswd), 2.5.2 (LastXP), 2.6 (PostXP/Locales), 2.10 (NoKR/ssp/FORTIFY), ... in somewhat arbitrary steps. The file centralizes and standardizes distro info previously spread across multiple files in some distros (four on Fedora) with many names depending on distros: /etc/*[-_]{release,version} and can be handy identifying in scripts, on logs, or creating/selecting network directories, where something was run or originated; see: http://0pointer.de/blog/projects/os-release https://www.freedesktop.org/software/systemd/man/os-release.html That's valuable for and to system/net/db support staff who have to support diverse legacy (in the sense of not the current corp standard distro or release) systems or contract/external staff who have to support multiple orgs with different standard distros or releases. -- 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