Restart ReceiveMon + Server + SendToMon ok

This commit is contained in:
Raphael Benistant 2020-03-29 12:12:36 +02:00
parent e912211b00
commit 153fc3a049

View file

@ -368,13 +368,14 @@ void Tasks::ReceiveFromMonTask(void *arg) {
cout << "Start " << __PRETTY_FUNCTION__ << endl << flush;
while(1){
// Synchronization barrier (waiting that all tasks are starting)
rt_sem_p(&sem_barrier, TM_INFINITE);
while(1){
//rt_sem_p(&sem_restart,TM_INFINITE);
//Reinitialize control boolean
killReceiveFromMonOk = 0;
rt_mutex_acquire(&mutex_killReceiveFromMon, TM_INFINITE);
killReceiveFromMon = 0;
rt_mutex_release(&mutex_killReceiveFromMon);
@ -390,7 +391,6 @@ void Tasks::ReceiveFromMonTask(void *arg) {
cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
if (msgRcv->CompareID(MESSAGE_MONITOR_LOST)) {
delete(msgRcv);
cout << "Connection to monitor lost" << endl;
rt_mutex_acquire(&mutex_killReceiveFromMon, TM_INFINITE);
@ -419,16 +419,19 @@ void Tasks::ReceiveFromMonTask(void *arg) {
acquireImage=0;
rt_mutex_release(&mutex_acquireImage);
//Wait every task to die
sleep(1);
//All closes
monitor.Close();
robot.Close();
//Tasks::Join();
cout << "End sleep" << endl << flush;
//Release restarted tasks
// cout << "End sleep" << endl << flush;
rt_sem_broadcast(&sem_barrier);
cout << "Mes couilles" << endl << flush;
// cout << "Mes couilles" << endl << flush;
//exit(-1);
@ -518,13 +521,9 @@ void Tasks::ReceiveFromMonTask(void *arg) {
//Update loop condition
cout << "J'arrive la" << endl << flush;
rt_mutex_acquire(&mutex_killReceiveFromMon, TM_INFINITE);
killReceiveFromMonOk = killReceiveFromMon;
rt_mutex_release(&mutex_killReceiveFromMon);
cout << "Kill Receive From Mon Ok = " << killReceiveFromMonOk << endl << flush;
}
cout << "ReceiveFromMon dies" << endl << flush;
@ -643,8 +642,6 @@ void Tasks::StartRobotTaskWithWatchdog(void *arg) {
while(1){
rt_sem_p(&sem_restart, TM_INFINITE);
rt_sem_p(&sem_startRobotWithWatchdog, TM_INFINITE);
cout << "Start robot with watchdog (";
rt_mutex_acquire(&mutex_robot, TM_INFINITE);