Blocking on serial port read/write

I have few queries regarding serial port read/write:

  1. Can readcond() remain blocked eventhough the specified TIMEOUT has happened?

  2. Can write() call get blocked?

Kindly help me understand.

  1. Can readcond() remain blocked eventhough the specified TIMEOUT has happened?

A higher priority process in a cpu loop could prevent readcond() from returning. This is not really blocked since your thread would be in READY mode.

  1. Can write() call get blocked?

On a serial port? Sure. If you have flow control turned on, your output buffer can fill up and then you are blocked on write().