Go to file
Christina Sander d268273e3c
FIX: fixes deadlock bug of class function to disable scheduling
When calling _diableScheduling of the participant to enable the
own participant for scheduling by the manager the process runned in a
deadlock.

Summary:
1. manager locks mutex mutexSchedulingParticipants_
2. calls schedule class function of participants in the
   schedulingParticipants_ list
3. there the _disableScheduling function is called by the participant
4. which calls the unschedule function of the manager
5. manager tries to lock mutexSchedulingParticipants_ which is already
   locked

Solution:
- this commit adds the following elements to the Manager class:
	1. disableScheduleQueue_
	2. mutexDisableScheduleQueue_
	3. processDisableScheduling_() ( like processConnections() )
- this commit changes the following functions of Manager class:
	1. unschedule( ... ) -> now adds given participant to
	   disableScheduleQueue
	2. scheduleProcess_() -> now also calls the class function
	   processDisableSchedulung_() after processConections_()
2022-08-30 15:12:51 +02:00
cmake/Modules ADD: first version 2021-08-04 09:53:57 +02:00
include/EventManager FIX: fixes deadlock bug of class function to disable scheduling 2022-08-30 15:12:51 +02:00
libs ADD: checkout correct submodule version 2021-08-04 09:52:54 +02:00
src/EventManager FIX: fixes deadlock bug of class function to disable scheduling 2022-08-30 15:12:51 +02:00
tests ADD: improved calling interfacce 2021-08-04 12:04:30 +02:00
.gitignore ADD: first version 2021-08-04 09:53:57 +02:00
.gitmodules ADD: added Catch2 as submodule for testing 2021-08-04 09:45:34 +02:00
CMakeLists.txt FIX: use unique object lib name 2021-10-25 23:29:48 +02:00
LICENSE ADD: initial commit 2021-08-04 09:44:57 +02:00
README.md FIX: fixed license in README 2021-08-04 09:56:32 +02:00

README.md

EventManager

Description

A small Event System written as C++20 library.

Author

License

MPLv2

Rest

T.b.d.