## Physical Device Driver Reference

[prev][next][parent][TOC]

### Device Driver Problems

When character device monitors are registered and active, a character device driver can severely and permanently affect its data stream or the entire system due to its:

Failure to quickly process data received in its monitor chain buffer when the notification routine is called, especially when issuing MonWrite into an empty monitor chain. Blockages can occur in all monitor buffers in a monitor chain if the physical device driver is blocked too long.

Inability to notify its monitors that there is a problem with the device. When a blockage occurs in a physical device driver because the device is disabled, the device driver can notify its monitors of the problem by placing a special monitor record into the monitor chain. The monitor can inform the user that there is a problem by displaying a message on the screen so that the user can re-enable the device.

However, blockages in all monitor buffers in the monitor chain due to a blockage at the physical device driver will prevent the device driver from notifying its monitors of a problem through a special monitor data record.

Dependencies on the return of specific types of monitor data records from the monitors to the physical device driver. Documentation on individual device drivers must include requirements for returning special monitor data records to the monitor chain and to the physical device driver (for example , flush records). Even with well-behaved monitors, however, the physical device driver cannot guarantee that its monitors will return its critical data.

Note: The introduction of special monitor data records into a monitor chain that is currently being monitored by applications can cause the system to halt.