Your resource manager needs to avoid leaving clients blocked indefinitely, and it might need to handle interrupts.