> BPrivateScreen seems to have a sem_id member, which is acquired in > WaitForRetrace() -- if not yet initialized, the method gets the sem_id > from the app server. I suspect, all threads of all applications wait on > the same semaphore for the vertical blank. I wonder a bit, how this > works, but probably there is something like an undocumented > release_sem_etc() flag that releases the semaphore exactly as often as > necessary to unblock all waiting threads. Sure. But I tested it with R5, and RetrieveSem() always returns -1. I could be wrong, though. I'll test it a bit more, so I'll find it out.