add: old_pri = SetTaskPri( FindTask( NULL ), 128 ); AHIsub_Disable((struct AHIAudioCtrlDrv *) audioctrl);
context: StartCmd ( struct AHIRequest *ioreq,           struct AHIBase *AHIBase ){  struct AHIDevUnit *iounit;  struct AHIPrivAudioCtrl *audioctrl;  struct Library *AHIsubBase;  iounit = (struct AHIDevUnit *) ioreq->ahir_Std.io_Unit;  audioctrl = (struct AHIPrivAudioCtrl *) iounit->AudioCtrl;  if(iounit->StopCnt)  {    iounit->StopCnt--;    if((AHIsubBase = audioctrl->ahiac_SubLib))    {      if(iounit->StopCnt == 0)      {        struct AHIRequest *ior;// FIXIT! Cannot disable, since PlayRequest() doesn't exit until the sound// is actually started. Sigh. I hate this mess.//        AHIsub_Disable((struct AHIAudioCtrlDrv *) audioctrl);        while((ior = (struct AHIRequest *) RemHead(            (struct List *) &iounit->RequestQueue)))        {          WriteCmd(ior, AHIBase);        }//        AHIsub_Enable((struct AHIAudioCtrlDrv *) audioctrl);      }    }  }  else  {    ioreq->ahir_Std.io_Error = AHIE_UNKNOWN;  }  TermIO(ioreq,AHIBase);}