The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Jun 30, 2023
Post comments count 3
Post likes count 3

2023 mid-year link clearance

Raymond Chen

The tradition continues.

Jun 30, 2023
Post comments count 1
Post likes count 1

How to wait for multiple C++ coroutines to complete before propagating failure, custom promise

Raymond Chen

Taking things into our own hands.

Jun 29, 2023
Post comments count 0
Post likes count 2

How to wait for multiple C++ coroutines to complete before propagating failure, peeling away at a tuple

Raymond Chen

Iterating over a tuple recursively.

Jun 28, 2023
Post comments count 1
Post likes count 1

How to wait for multiple C++ coroutines to complete before propagating failure, false hope

Raymond Chen

Trying to iterate over a pack.

Jun 27, 2023
Post comments count 0
Post likes count 1

How to wait for multiple C++ coroutines to complete before propagating failure, unhelpful lambda

Raymond Chen

The usual trick doesn't work.

Jun 26, 2023
Post comments count 5
Post likes count 1

How to wait for multiple C++ coroutines to complete before propagating failure, initial plunge

Raymond Chen

Remembering the exception while finishing the other work.

Jun 23, 2023
Post comments count 5
Post likes count 4

What can go wrong if you release an SRWLock from a thread different from the one that acquired it?

Raymond Chen

It's not a supported scenario, so anything can happen.

Jun 22, 2023
Post comments count 1
Post likes count 1

How can I find out the last time a user logged on from C++?

Raymond Chen

The information is in the historically-named LANMAN APIs.

Jun 21, 2023
Post comments count 0
Post likes count 3

The case of the make_shared on a C++/WinRT type

Raymond Chen

Now you can't tell who's in charge.