master/master.c
changeset 235 f973808540a6
parent 228 ec516cfa207e
child 236 34d7ce41e9db
--- a/master/master.c	Fri May 12 12:38:22 2006 +0000
+++ b/master/master.c	Fri May 12 12:40:45 2006 +0000
@@ -874,9 +874,14 @@
 {
     ec_master_t *master = (ec_master_t *) data;
     ec_eoe_t *eoe;
+    unsigned int active = 0;
+
+    list_for_each_entry(eoe, &master->eoe_slaves, list) {
+        if (ec_eoe_active(eoe)) active++;
+    }
 
     // request_cb must return 0, if the lock has been aquired!
-    if (!master->request_cb(master->cb_data))
+    if (active && !master->request_cb(master->cb_data))
     {
         ecrt_master_async_receive(master);
         list_for_each_entry(eoe, &master->eoe_slaves, list) {