Wait for events and thread conditions at the same time?

I remember using this a long time ago. It was pure Windows API based with the function MsgWaitForMultipleObjects.
It makes it possible for a thread with a window in it to wait for windows messages AND for thread events at the same time. This is of course very Windows specific.

Is there a similar cross platform thing available in SDL? I see events and I see thread conditions, but I don’t seem to see anything that does both?

In other words, it would be a combination of the functionality behind SDL_WaitEvent and SDL_LockMutex + SDL_CondWait.

Note: I know I can solve it by using timeouts and short sleeps, but that’s never as optimal as the MsgWaitForMultipleObjects functionality from Windows. I could also remove any thread related stuff from my main window but in my design, this really fits very nicely.