linux-os wrote:
Now, somebody needs a resource. It executes down(&semaphore); once it gets control again, it has that resource. It attempts to use that resource through a driver. The driver waits forever. The resource is now permanently dorked --forever because its driver is waiting forever. The user code never returns from the driver so it can never execute up(&semaphore).
What about something like a "robust mutex" (in OSDL terminology)? The guy holding it too long gets killed, and the mutex gets marked as dirty. The next guy to aquire the mutex is responsable for re-initializing the resource (resetting the device to a known state, for instance).
Chris
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/