- Timestamp:
-
01/13/14 16:02:05 (10 years ago)
- Author:
-
Sh
- Comment:
-
/* Non-Preempt Mode for Mutual Exclusion */
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v25
|
v26
|
|
405 | 405 | = = Task Variables == |
406 | 406 | |
407 | | = === Status ==== |
| 407 | == Status == |
408 | 408 | |
409 | 409 | |
… |
… |
|
412 | 412 | of the executing thread. For Newlib the access to the re-entrancy structure is |
413 | 413 | now performed via ''__getreent()'', see also ''__DYNAMIC_REENT__'' in Newlib. |
414 | | |
415 | | ==== Future Directions ==== |
| 414 | = === Future Directions ==== |
416 | 415 | |
417 | 416 | |
… |
… |
|
423 | 422 | |
424 | 423 | |
| 424 | ==== Status ==== |
| 425 | |
| 426 | |
| 427 | Disabling of thread preemption cannot be used to ensure mutual exclusion on SMP. |
| 428 | The non-preempt mode is disabled on SMP and a run-time error will occur if such |
| 429 | a mode change request is issued. The alternatives are mutexes and condition |
| 430 | variables. |
| 431 | |
| 432 | ==== Future Directions ==== |
| 433 | |
| 434 | |
| 435 | * Add condition variables to the Classic API. |
| 436 | * Fix pthread_once(). |
| 437 | * Fix the block device cache ''bdbuf''. |
| 438 | * Fix C++ support. |
| 439 | |
425 | 440 | === Thread Restart === |
426 | 441 | |