Message 1 of 1
09 Jul 18 15:04
Join Date: 04 Oct 2013
Posts To This List: 8
Re: RE: RE: RE: Re: [BULK] Re: Modern C++ Features in Kernel Mode Drivers
To me this is one of the beauties of the STL code. You still have access
to the lock itself, and if you need to acquire and release it multiple
times, you are free to do so without any extra work. But in the case
that is most likely, where you acquire and release once, the lock_guard
protects you from ever forgetting to do the right thing.
It helps to protect you from your own mistakes most of the time, and
still gives you the flexibility to step outside that model when you need
to do something more complex. I think the maxim of "make it easy to do
the right thing and hard to do the wrong thing" can really help code
become more reliable and easier to maintain.
On 7/9/2018 10:10 AM, firstname.lastname@example.org wrote:
> Yeah, it is exactly like auto ptr in previous version of C++. You will have to
specifically ask to get a reference, IIRc.
>> On Jul 9, 2018, at 9:07 AM, email@example.com wrote:
>>> But with judicious appropriate comments, all should be well, and your
>>> of leaving the function's scope without releasing the lock are zero.
>> True, but consider the scenario when you may have to release the lock and
subsequently re-acquire it
>> in some cases. Apparently, you must be able to find a workaround by messing
around with scopes and loops, but imagine how ugly it is going to look. As long
as you to things in C-like fashion and treat a spinlock as a variable, rather
than an object, you task is just straightforward
<...excess quoted lines suppressed...>