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


Groups > comp.lang.c++ > #118309

Re: The ultimate thread pool

From "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Newsgroups comp.lang.c++
Subject Re: The ultimate thread pool
Date 2024-02-08 12:02 -0800
Organization A noiseless patient Spider
Message-ID <uq3c19$241l2$1@dont-email.me> (permalink)
References (18 earlier) <uptajf$svba$3@raubtier-asyl.eternal-september.org> <upu3hi$11fqc$2@dont-email.me> <uq0aa4$1gc3g$2@raubtier-asyl.eternal-september.org> <uq0pnk$1j51f$1@dont-email.me> <uq2g53$1v070$1@raubtier-asyl.eternal-september.org>

Show all headers | View raw


On 2/8/2024 4:07 AM, Bonita Montero wrote:
> Am 07.02.2024 um 21:38 schrieb Chris M. Thomasson:
>> On 2/7/2024 8:15 AM, Bonita Montero wrote:
>>> Am 06.02.2024 um 21:07 schrieb Chris M. Thomasson:
>>>> On 2/6/2024 5:01 AM, Bonita Montero wrote:
>>>>> Am 06.02.2024 um 07:38 schrieb Chris M. Thomasson:
>>>>>> On 2/5/2024 10:12 PM, Bonita Montero wrote:
>>>>>>> Am 05.02.2024 um 20:09 schrieb Chris M. Thomasson:
>>>>>>>
>>>>>>>> Can you create a little self-contained example that shows these 
>>>>>>>> warnings?
>>>>>>>
>>>>>>> Make the pragmas commented and look what the IDE shows as warnings.
>>>>>>>
>>>>>>
>>>>>> Think about getting a warning free compile. Think about what these 
>>>>>> warnings actually mean. If you find a bug, report it to the MSVC 
>>>>>> team.
>>>>>
>>>>> Try this ...
>>>>>
>>>>> void fn( unique_lock<mutex> &lock )
>>>>> {
>>>>>      assert(lock);
>>>>>      lock.unlock();
>>>>> }
>>>>>
>>>>> ... and you'll get a warning.
>>>>>
>>>>
>>>> Fwiw, I get no warning with:
>>>>
>>>> {
>>>>      std::unique_lock<std::mutex> lock(m_mutex);
>>>>      assert(lock);
>>>>      lock.unlock();
>>>>      //lock.unlock(); // this throws an exception.
>>>> }
>>>
>>> That's sth. totally different. My function has the pre-condition
>>> that it inherits the lock of the calling function and sometimes
>>> it unlocks it.
>>
>> Ahhh. I got them with:
>> __________________________________
>> namespace ct
>> {
>>      struct mutex_test
>>      {
>>          std::mutex m_mutex;
>>
>>          void
>>          bar(std::unique_lock<std::mutex>& lock)
>>          {
>>              assert(lock); // better be locked!
>>              lock.unlock();
>>          }
>>
>>          void
>>          foo()
>>          {
>>              std::unique_lock<std::mutex> lock(m_mutex);
>>              bar(lock); // beware. unlocks the damn thing!
>>              lock.lock(); // okay...
>>          }
>>      };
>> }
>> __________________________________
>>
>> Give the warnings:
>> __________________________________
>> Severity    Code    Description    Project    File    Line Suppression 
>> State    Details
>> Warning    C26115    Failing to release lock 'this->m_mutex' in 
>> function 'ct::mutex_test::foo'.    ct_threads 
>> D:\ct_dev\projects\ct_threads\ct_threads\ct_main.cpp    26
>>
>> Warning    C26111    Caller failing to release lock 'this->m_mutex' 
>> before calling function 'std::unique_lock<std::mutex>::lock'. 
>> ct_threads D:\ct_dev\projects\ct_threads\ct_threads\ct_main.cpp    26
>>
>> Warning    C26110    Caller failing to hold lock 'lock' before calling 
>> function 'std::unique_lock<std::mutex>::unlock'.    ct_threads 
>> D:\ct_dev\projects\ct_threads\ct_threads\ct_main.cpp    18
>> __________________________________
>>
>>
>> You just have to be very careful with this type of logic. These 
>> warnings elude to that.
> 
> Can't you read my code ?

Yes.


> That's still sth. completely different than what I did.
> 

I just wanted to get MSVC to pop out those "false" warnings. Mission 
accomplished.

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


Thread

The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-01-25 18:25 +0100
  Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-25 11:31 -0800
    Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-01-26 05:08 +0100
      Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-26 17:15 -0800
      Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-26 19:23 -0800
        Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-26 19:24 -0800
    Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-01-27 09:38 +0100
      Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-27 21:11 -0800
  Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-27 13:05 -0800
    Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-29 14:45 -0800
      Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-01-30 11:44 +0100
        Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-30 15:19 -0800
          Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-01-31 16:45 +0100
            Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-31 12:32 -0800
              Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-31 18:35 -0800
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-01-31 19:10 -0800
              Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-01 11:18 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-01 12:05 -0800
                Re: The ultimate thread pool red floyd <no.spam.here@its.invalid> - 2024-02-01 12:23 -0800
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-01 12:30 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-03 20:04 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-03 12:05 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-04 05:58 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-03 21:30 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-04 07:41 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-04 13:59 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-05 09:01 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-05 11:09 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-06 07:12 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-05 22:34 -0800
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-05 22:36 -0800
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-05 22:46 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-06 11:15 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-05 22:38 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-06 11:17 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-06 11:55 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-07 17:13 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-07 12:41 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-06 14:01 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-06 12:07 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-07 17:15 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-07 12:38 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-08 13:07 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-08 12:02 -0800
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-08 13:28 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-09 13:16 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-09 11:43 -0800
                Re: The ultimate thread pool Bonita Montero <Bonita.Montero@gmail.com> - 2024-02-10 06:11 +0100
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-10 20:53 -0800
                Re: The ultimate thread pool "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-02-04 20:20 -0800

csiph-web