From f4548e9f812f7504e14992fc909cfc8da9a58974 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 26 Feb 2004 17:04:44 +0000 Subject: 2004-02-26 Thomas Rauscher Wait.return_code = RTEMS_TIMEOUT; - _Thread_Unblock( the_thread ); + _ISR_Disable( level ); + if ( the_thread->Wait.count ) { /* verify thread is waiting */ + the_thread->Wait.count = 0; + if ( _Event_Sync_state != EVENT_SYNC_SYNCHRONIZED && + _Thread_Is_executing( the_thread ) ) { + if ( _Event_Sync_state != EVENT_SYNC_SATISFIED ) { + _Event_Sync_state = EVENT_SYNC_TIMEOUT; + } + _ISR_Enable( level ); + } else { + the_thread->Wait.return_code = RTEMS_TIMEOUT; + _ISR_Enable( level ); + _Thread_Unblock( the_thread ); + } } + else { + _ISR_Enable( level ); + } + _Thread_Unnest_dispatch(); break; } -- cgit v1.2.3