fabiansch / esep_sortingmachine

0 stars 1 forks source link

Controller channel: Deadlock error handling #70

Open fabiansch opened 6 years ago

fabiansch commented 6 years ago

Controller needs a channel for receiving signals from Dispacher or from Timer

Therefore Controller should receive something like a channelID qhen it gets created and start a thread in that it listens on that channel for signal like:

// timer // -- in START_TIMERS_INPUT, START_TIMERS_HEIGHT, START_TIMERS_SWITCH, START_TIMERS_SLIDE, START_TIMERS_OUTPUT, // -- out TIMEFRAME_INPUT_ENTER, TIMEFRAME_INPUT_LEAVE, TIMEFRAME_HEIGHT_ENTER, TIMEFRAME_HEIGHT_LEAVE, TIMEFRAME_SWITCH_ENTER, TIMEFRAME_SWITCH_LEAVE, TIMEFRAME_SLIDE_ENTER, TIMEFRAME_SLIDE_LEAVE, TIMEFRAME_OUTPUT_ENTER, TIMEFRAME_OUTPUT_LEAVE,

fabiansch commented 6 years ago

Moin @FlowwX

kannst mal schauen, was ich gepushed habe. Mehr konnte ich nicht rausholen leider. Das Problem ist hier allerdings gar nicht c++.

normalerweise kann man bei c++11 einen thread auch direkt mit einem pointer auf ein Objekt mit einem Funktor starten..

Unser Compiler unterstuetzt allerdings kein volles c++11... krass hier dass man thread mit einer referenz starten kann aber nicht mit einem pointer.... Da hat sich der Tutor auch schon im ersten Tutoriumstermin darueber aufgeregt.....

fabiansch commented 6 years ago

needs error handling when deadlocks happen