Mercurial > flash_v2
comparison packages/kernel/current/src/sync/flag.cxx @ 115:6ed91473a1cd ecos-sw-2000-08-21
Merge from eCos master repository on 2000-08-21-22:40:54-BST
| author | jlarmour |
|---|---|
| date | Fri, 25 Aug 2000 17:32:38 +0000 |
| parents | bf00f99aec69 |
| children | e0c0827131d1 |
comparison
equal
deleted
inserted
replaced
| 114:5ad2b71d525e | 115:6ed91473a1cd |
|---|---|
| 240 self->set_sleep_reason( Cyg_Thread::WAIT ); | 240 self->set_sleep_reason( Cyg_Thread::WAIT ); |
| 241 self->sleep(); | 241 self->sleep(); |
| 242 // keep track of myself on the queue of waiting threads | 242 // keep track of myself on the queue of waiting threads |
| 243 queue.enqueue( self ); | 243 queue.enqueue( self ); |
| 244 | 244 |
| 245 CYG_ASSERT( 1 == Cyg_Scheduler::get_sched_lock(), | 245 // Allow other threads to run |
| 246 "Called with non-zero scheduler lock"); | 246 Cyg_Scheduler::reschedule(); |
| 247 | |
| 248 // Unlock scheduler and allow other threads to run | |
| 249 Cyg_Scheduler::unlock(); | |
| 250 Cyg_Scheduler::lock(); | |
| 251 | 247 |
| 252 CYG_ASSERT( ((CYG_ADDRWORD)&saveme) == | 248 CYG_ASSERT( ((CYG_ADDRWORD)&saveme) == |
| 253 Cyg_Thread::self()->get_wait_info(), | 249 Cyg_Thread::self()->get_wait_info(), |
| 254 "Wait info lost" ); | 250 "Wait info lost" ); |
| 255 | 251 |
| 331 self->set_sleep_reason( Cyg_Thread::TIMEOUT ); | 327 self->set_sleep_reason( Cyg_Thread::TIMEOUT ); |
| 332 self->sleep(); | 328 self->sleep(); |
| 333 // keep track of myself on the queue of waiting threads | 329 // keep track of myself on the queue of waiting threads |
| 334 queue.enqueue( self ); | 330 queue.enqueue( self ); |
| 335 | 331 |
| 336 CYG_ASSERT( 1 == Cyg_Scheduler::get_sched_lock(), | 332 // Allow other threads to run |
| 337 "Called with non-zero scheduler lock"); | 333 Cyg_Scheduler::reschedule(); |
| 338 | |
| 339 // Unlock scheduler and allow other threads to run | |
| 340 Cyg_Scheduler::unlock(); | |
| 341 Cyg_Scheduler::lock(); | |
| 342 | 334 |
| 343 CYG_ASSERT( ((CYG_ADDRWORD)&saveme) == | 335 CYG_ASSERT( ((CYG_ADDRWORD)&saveme) == |
| 344 Cyg_Thread::self()->get_wait_info(), | 336 Cyg_Thread::self()->get_wait_info(), |
| 345 "Wait info lost" ); | 337 "Wait info lost" ); |
| 346 | 338 |
