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_()