Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" Newsgroups: comp.lang.c++ Subject: Re: signalling a condvar from inside vs. signalling a condvar von outside Date: Thu, 24 Apr 2025 13:17:58 -0700 Organization: A noiseless patient Spider Lines: 21 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 24 Apr 2025 22:18:00 +0200 (CEST) Injection-Info: dont-email.me; posting-host="9ab23ff6e21fe9bbc243a2a98cfc6588"; logging-data="2441746"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+1hnUFuTB2+HrCYrGZ6UaGWyuHrpxvnxQ=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:mR6Wh31NE9KE3Qhn1a5S4u6TMkc= Content-Language: en-US In-Reply-To: Bytes: 2468 On 4/24/2025 1:15 PM, Chris M. Thomasson wrote: [...] >>>                  for( size_t r = N; r; --r ) >>>                  { >>>                      unique_lock lock( mtx ); >>>                      cv.wait( lock, [&] { return (bool)signalled; } ); > > I must be missing something here.  Where is your predicate for your > cv.wait? Oh shit. I see. { return (bool)signalled; } is it, right? Sorry. > >>>                      --signalled; > > [...] >