|
|
- Fixed another race condition with mailboxes that was leading to deadlock
- I now have just one ISR-related macro - TASK_ISR() - and ISRs may now decide if a task switch should occur
- Added
init_data to the tasks - the task function now takes a void * argument
- Fixed a bug with write_mbox() and wait_for_receiver() - an incorrect algorithm was being used to see if another task was waiting on the mailbox, which could (and did) lead to deadlock.
wait_for_mutexes no longer ignored when stop_task() is called on current_task
- Added
wait_for_mutexes to stop_task()
- Changed write_mbox() so that the number of receivers could be specified, and added the "nullify" feature
- Updated and re-organised the documentation
- Removed noticeboards, and replaced them with proper mailboxes
- Fixed a few bugs
- Started proper doxygen documentation
- If a task is stopped while holding mutexes, the mutexes will be released
- Fixed a memory leak bug with non-empty mailboxes on stopping tasks
|