# HG changeset patch
# User Andreas Stewering-Bone <ab@igh-essen.com>
# Date 1306146201 -7200
# Node ID e797dc47018ba8aefbfaf423afcb9de440e4e961
# Parent  1e2a9fcb30959376f86f9ba8509ea7c1a24002c7
Fix for new locking for rtdm module

diff -r 1e2a9fcb3095 -r e797dc47018b rtdm/module.c
--- a/rtdm/module.c	Fri May 13 15:36:46 2011 +0200
+++ b/rtdm/module.c	Mon May 23 12:23:21 2011 +0200
@@ -164,9 +164,9 @@
 
 
 /**********************************************************/
-/*            DRIVER sendcallback                         */
-/**********************************************************/
-void send_callback(void *cb_data)
+/*            DRIVER lockcallback                         */
+/**********************************************************/
+void request_lock_callback(void *cb_data)
 {
     EC_RTDM_DRV_STRUCT * pdrvstruc;
     
@@ -174,24 +174,20 @@
     if (pdrvstruc->master)
         {
             my_mutex_acquire(&pdrvstruc->masterlock,TM_INFINITE);
-            ecrt_master_send_ext(pdrvstruc->master);
-            my_mutex_release(&pdrvstruc->masterlock);
-      }
+        }
 }
 
 /*****************************************************************************/
 
-void receive_callback(void *cb_data)
+void release_lock_callback(void *cb_data)
 {
     EC_RTDM_DRV_STRUCT * pdrvstruc;
 
     pdrvstruc = (EC_RTDM_DRV_STRUCT*)cb_data;
     if (pdrvstruc->master)
       {
-          my_mutex_acquire(&pdrvstruc->masterlock,TM_INFINITE);
-          ecrt_master_receive(pdrvstruc->master);
           my_mutex_release(&pdrvstruc->masterlock);      
-    }
+      }
 }
 
 
@@ -560,8 +556,7 @@
                                 snprintf(&pdrvstruc->mutexname[0],sizeof(pdrvstruc->mutexname)-1,"ETHrtdmLOCK%d",pdrvstruc->masterno);
                                 EC_RTDM_INFO(pdrvstruc->masterno,"Creating Master mutex %s!\n",&pdrvstruc->mutexname[0]);
                                 my_mutex_create(&pdrvstruc->masterlock,&pdrvstruc->mutexname[0]);
-                                //ecrt_release_master(mstr);
-                                ecrt_master_callbacks(pdrvstruc->master, send_callback, receive_callback, pdrvstruc);
+                                ecrt_master_callbacks(pdrvstruc->master, request_lock_callback, release_lock_callback, pdrvstruc);
                                 EC_RTDM_INFO(pdrvstruc->masterno,"MSTR ATTACH done domain=%u!\n",(unsigned int)pdrvstruc->domain);
                                 pdrvstruc->isattached=1;
                                 ret = 0;