The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Spurious wakes, race conditions, and bogus FIFO claims: A peek behind the curtain of WaitOnAddress
Aug 26, 2016
Post comments count 0
Post likes count 2

Spurious wakes, race conditions, and bogus FIFO claims: A peek behind the curtain of WaitOnAddress

Raymond Chen
Raymond Chen

Watch the gears turn.

Soarin’ over California + Seattle = Wings over Washington
Aug 25, 2016
Post comments count 0
Post likes count 0

Soarin’ over California + Seattle = Wings over Washington

Raymond Chen
Raymond Chen

I wonder what it's like.

Implementing a critical section in terms of WaitOnAddress
Aug 25, 2016
Post comments count 0
Post likes count 2

Implementing a critical section in terms of WaitOnAddress

Raymond Chen
Raymond Chen

Building things out of other things.

The International Fair Play Committee announces the Rio 2016 Fair Play Awards, but spends most of the time congratulating themselves
Aug 24, 2016
Post comments count 0
Post likes count 0

The International Fair Play Committee announces the Rio 2016 Fair Play Awards, but spends most of the time congratulating themselves

Raymond Chen
Raymond Chen

Sporteaucratic nonsense.

Implementing a synchronization barrier in terms of WaitOnAddress
Aug 24, 2016
Post comments count 0
Post likes count 1

Implementing a synchronization barrier in terms of WaitOnAddress

Raymond Chen
Raymond Chen

Kicking the tires by building another kind of tire.

WaitOnAddress lets you create a synchronization object out of any data variable, even a byte
Aug 23, 2016
Post comments count 0
Post likes count 2

WaitOnAddress lets you create a synchronization object out of any data variable, even a byte

Raymond Chen
Raymond Chen

Pick a byte, any byte.

Adventures in application compatibility: The bogus memory calculation
Aug 22, 2016
Post comments count 0
Post likes count 0

Adventures in application compatibility: The bogus memory calculation

Raymond Chen
Raymond Chen

Let's add some numbers together, shall we?

Is it okay to call TryAcquireSRWLock from a thread that has already acquired the lock?
Aug 19, 2016
Post comments count 0
Post likes count 0

Is it okay to call TryAcquireSRWLock from a thread that has already acquired the lock?

Raymond Chen
Raymond Chen

No.

If I have a modeless dialog box with custom accelerators, which should I call first: IsDialogMessage or TranslateAccelerator
Aug 18, 2016
Post comments count 0
Post likes count 0

If I have a modeless dialog box with custom accelerators, which should I call first: IsDialogMessage or TranslateAccelerator

Raymond Chen
Raymond Chen

Only one way works.