DOCUMENT ID: 1152-02 SYNOPSIS: How to port spl5() routine on SVR4 to Solaris 2.1 X86 OS RELEASE: 2.1 PRODUCT: Solaris x86 for DDK KEYWORDS: port spl5(), routine, interrupt, driver, DDK DESCRIPTION: In the old days to protect oneself from an interrupt a driver would do something like s = spl5(); STATE = xxxx; cause_intr(); // Touch board to cause immediate interrupt sleep(&someaddr); splx(s); and the interrupt routine COULD not be invoked before the sleep call and it would if (STATE == xxxx) wakeup(&someaddr); clear_intr(); SOLUTION: Now in Solaris, interrupt routines should not be called before the call to cv_wait() and the interrupt routine should look like mutex_enter(&somemutex); if (STATE == xxxx) cv_signal(&someconditional); clear_intr(); mutex_exit(&somemutex); DATE APPROVED: 10/10/95