Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #127162

Re: How do you do something like this?

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c, comp.lang.c++
Subject Re: How do you do something like this?
Date 2018-02-28 10:03 -0800
Organization None to speak of
Message-ID <lnh8q1gfea.fsf@kst-u.example.com> (permalink)
References (2 earlier) <p6dqq1$1ra9$1@adenine.netfront.net> <dv44me-h94.ln1@ruby.opensrc.club> <15d6d799-4d29-cb8b-e7a4-1e48fbece7ad@verizon.net> <p74ksb$1k43$1@gioia.aioe.org> <p75r22$a9o$1@dont-email.me>

Cross-posted to 2 groups.

Show all headers | View raw


David Brown <david.brown@hesbynett.no> writes:
> On 27/02/18 23:07, Real Troll wrote:
>> On 27/02/2018 13:30, James R. Kuyper wrote:
>>> On 02/22/2018 07:48 PM, Egor wrote:
>>>> In comp.lang.c Juha Nieminen <nospam@thanks.invalid> wrote:
>>>>> I thought C++11 introduced sleep_for(). Why not use the standard
>>>>> function?
>>>> OP posted the question to both comp.lang.c and comp.lang.c++, so I
>>>> provided a C-oriented answer.
>>>
>>> A C-oriented answer using C2011 could use thrd_sleep()
>>>
>> This one doesn't even compile in any of the compiler I have tried:
>> 
>> GNU G++,
>> Embarcadero
>> Visual Studio 2010, 2013, 2015, 2017
>> 
>>> #include <threads.h>
>>> #include <time.h>
>>> #include <stdio.h>
>> 
>>> int main(void)
>>> {
>>>    printf("Time: %s", ctime(&(time_t){time(NULL)}));
>>>    thrd_sleep(&(struct timespec){.tv_sec=1}, NULL); // sleep 1 sec
>>>    printf("Time: %s", ctime(&(time_t){time(NULL)}));
>>> }
>
> Works fine for me with gcc.  Did you remember to use "-std=c11", or a
> gcc version new enough to have "-std=gnu11" as the default?  Did you use
> a new enough gcc?  (I think 4.9 is needed.)  Did you use a library with
> the right support (not a Windows gcc version that uses MS's old and
> limited C libraries)?

On Linux systems, gcc typically uses GNU libc by default, and GNU
libc doesn't support <threads.h>.  Specifying -std=... doesn't help.
I don't think Visual Studio supports it either.  (<threads.h> is
optional, so this doesn't mean these implementations are non-conforming
as long as they predefine __STDC_NO_THREADS__.)

On Debian-based systems, you can install an alternative C library,
MUSL, which does support <threads.h>.  You have to use a wrapper
called musl-gcc to compile with it.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

How do you do something like this? G B <gb@gb.com> - 2018-02-13 01:35 +0000
  Re: How do you do something like this? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-13 02:02 +0000
    Re: How do you do something like this? "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com> - 2018-02-13 03:53 +0100
  Re: How do you do something like this? bartc <bc@freeuk.com> - 2018-02-13 11:50 +0000
    Re: How do you do something like this? legalize+jeeves@mail.xmission.com (Richard) - 2018-02-13 21:34 +0000
      Re: How do you do something like this? bartc <bc@freeuk.com> - 2018-02-13 22:01 +0000
  Re: How do you do something like this? Egor <egor@ruby.local> - 2018-02-13 13:56 +0200
    Re: How do you do something like this? Juha Nieminen <nospam@thanks.invalid> - 2018-02-19 06:28 +0000
      Re: How do you do something like this? Egor <egor@ruby.local> - 2018-02-23 02:48 +0200
        Re: How do you do something like this? "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-27 08:30 -0500
          Re: How do you do something like this? Keith Thompson <kst-u@mib.org> - 2018-02-27 09:07 -0800
          Re: How do you do something like this? Real Troll <Real.Troll@Trolls.com> - 2018-02-27 18:07 -0400
            Re: How do you do something like this? David Brown <david.brown@hesbynett.no> - 2018-02-28 09:59 +0100
              Re: How do you do something like this? Keith Thompson <kst-u@mib.org> - 2018-02-28 10:03 -0800
                Re: How do you do something like this? David Brown <david.brown@hesbynett.no> - 2018-02-28 22:35 +0100
                Re: How do you do something like this? Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-01 13:07 -0800
                Re: How do you do something like this? Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-01 17:01 -0800
                Re: How do you do something like this? Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-01 21:11 -0800
              Re: How do you do something like this? Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-01 13:53 -0800
          Re: How do you do something like this? Egor <egor@ruby.local> - 2018-03-05 14:48 +0200

csiph-web