public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: pthread_cond_timedwait with setclock(CLOCK_MONOTONIC) times out early
Date: Sat, 01 Dec 2018 15:49:00 -0000	[thread overview]
Message-ID: <e5130a7a-3733-d835-127b-c1d453e15689@SystematicSw.ab.ca> (raw)
In-Reply-To: <20181201095322.GN30649@calimero.vinschen.de>

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

  reply	other threads:[~2018-12-01 15:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-25 14:01 James E. King III
2018-11-26 15:35 ` Corinna Vinschen
2018-11-26 15:47   ` James E. King III
2018-11-26 16:47     ` Corinna Vinschen
2018-11-29 10:18       ` Corinna Vinschen
2018-11-29 22:39         ` James E. King III
2018-11-30 12:14           ` Corinna Vinschen
2018-11-30 12:44             ` James E. King III
2018-11-30 12:56               ` Corinna Vinschen
2018-12-01  4:27                 ` Brian Inglis
2018-12-01  9:53                   ` Corinna Vinschen
2018-12-01 15:49                     ` Brian Inglis [this message]
2018-12-02 11:34                       ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e5130a7a-3733-d835-127b-c1d453e15689@SystematicSw.ab.ca \
    --to=brian.inglis@systematicsw.ab.ca \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).