--- a/targets/Linux/plc_Linux_main.c Tue Sep 01 10:45:07 2009 +0200
+++ b/targets/Linux/plc_Linux_main.c Wed Sep 02 13:38:47 2009 +0200
@@ -124,6 +124,7 @@
pthread_mutex_destroy(&debug_wait_mutex);
pthread_mutex_unlock(&python_wait_mutex);
pthread_mutex_destroy(&python_wait_mutex);
--- a/targets/plc_common_main.c Tue Sep 01 10:45:07 2009 +0200
+++ b/targets/plc_common_main.c Wed Sep 02 13:38:47 2009 +0200
@@ -58,12 +58,12 @@
int __init(int argc,char **argv)
setlocale(LC_NUMERIC, "C");
* Calls plugin cleanup proc.
--- a/targets/plc_debug.c Tue Sep 01 10:45:07 2009 +0200
+++ b/targets/plc_debug.c Wed Sep 02 13:38:47 2009 +0200
@@ -67,6 +67,8 @@
extern int TryEnterDebugSection(void);
extern void LeaveDebugSection(void);
+extern long AtomicCompareExchange(long*, long, long); +extern void InitiateDebugTransfer(void); @@ -152,13 +154,15 @@
void* IterDebugData(int* idx, const char **type_name)
if(subscription_cursor < latest_subscription){
char* old_cursor = buffer_cursor;
*idx = *subscription_cursor;
- struct_plcvar* my_var = &variable_table[*(subscription_cursor++)];
+ my_var = &variable_table[*(subscription_cursor++)]; *type_name = __get_type_enum_name(my_var->type);
- USINT size = __get_type_enum_size(my_var->type);
+ size = __get_type_enum_size(my_var->type); /* compute next cursor position*/
buffer_cursor = buffer_cursor + size;
if(old_cursor < debug_buffer + BUFFER_SIZE)