bool terminatePhase1( IOOptionBits options = 0 );
void scheduleTerminatePhase2( IOOptionBits options = 0 );
void scheduleStop( IOService * provider );
- static void terminateThread( void * arg, wait_result_t unused );
+
+ static void waitToBecomeTerminateThread( void );
+ static void __attribute__((__noreturn__)) terminateThread( void * arg, wait_result_t unused );
static void terminateWorker( IOOptionBits options );
static void actionWillTerminate( IOService * victim, IOOptionBits options,
OSArray * doPhase2List, void*, void * );