diff -r b9271faec96e -r 7c23fac40a2a targets/Xenomai/plc_Xenomai_main.c --- a/targets/Xenomai/plc_Xenomai_main.c Sun Sep 25 22:51:51 2011 +0200 +++ b/targets/Xenomai/plc_Xenomai_main.c Mon Sep 26 00:24:04 2011 +0200 @@ -256,11 +256,12 @@ { char cmd; int res; - *tick = __debug_tick; /* Wait signal from PLC thread */ res = read(WaitDebug_pipe_fd, &cmd, sizeof(cmd)); - if (res == sizeof(cmd) && cmd == DEBUG_PENDING_DATA) + if (res == sizeof(cmd) && cmd == DEBUG_PENDING_DATA){ + *tick = __debug_tick; return 0; + } return -1; } @@ -288,6 +289,8 @@ } } __DEBUG = !disable; + if (disable) + AtomicCompareExchange( &debug_state, DEBUG_BUSY, DEBUG_FREE); return 0; }