Do not use AttemptSemaphore() from RawPutChar(), since it may be called