Microsoft's documentation style

MSDN is in general a nice documention collection but sometimes reading it makes me sad.

Today's exhibit the SignalObjectAndWait function. It contains the following note:

Note that the “signal” and “wait” are not guaranteed to be performed as an atomic operation. Threads executing on other processors can observe the signaled state of the first object before the thread calling SignalObjectAndWait begins its wait on the second object.

Everywhere (except the MSDN) it is written that the SignalObjectAndWait performs the signal and wait operations atomically (even the Jeffrey Richter's book agrees) whilst MSDN states the opposite - that it's not atomic.

I'm really confused about this and don't know whether I should rely on this function anymore. This a pretty fundamental synchronization primitive and it would be bad to avoid using it.

And the funny thing is that the older version of the documention also states that it's an atomic operation.