From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 86028 invoked by alias); 1 Dec 2018 15:49:42 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 62677 invoked by uid 89); 1 Dec 2018 15:49:32 -0000 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 Received: from smtp-out-no.shaw.ca (HELO smtp-out-no.shaw.ca) (64.59.134.9) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 01 Dec 2018 15:49:29 +0000 Received: from [192.168.1.114] ([24.64.172.44]) by shaw.ca with ESMTP id T7WIgKaelP7x2T7WJgf6pW; Sat, 01 Dec 2018 08:49:27 -0700 Reply-To: Brian.Inglis@SystematicSw.ab.ca Subject: Re: pthread_cond_timedwait with setclock(CLOCK_MONOTONIC) times out early To: cygwin@cygwin.com References: <20181126153545.GM30649@calimero.vinschen.de> <20181126164657.GN30649@calimero.vinschen.de> <20181129101821.GZ30649@calimero.vinschen.de> <20181130121429.GF30649@calimero.vinschen.de> <20181130125633.GH30649@calimero.vinschen.de> <5b0bcf7f-096d-c259-ce25-9511d4bccf84@SystematicSw.ab.ca> <20181201095322.GN30649@calimero.vinschen.de> From: Brian Inglis Openpgp: preference=signencrypt Message-ID: Date: Sat, 01 Dec 2018 15:49:00 -0000 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 X-SW-Source: 2018-12/txt/msg00011.txt.bz2 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@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: > > 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