From e243c6b7dbd814322fa7bae54c7a6421866ab190 Mon Sep 17 00:00:00 2001 From: Esben Haabendal Date: Thu, 24 Jun 2021 13:38:04 +0200 Subject: [PATCH] Clarify purpose of master->io_sem In order to ensure proper use of locking, the purpose of each mutex/semaphore must be clear and documented. This is my best guess. The master->io_sem has a simple purpose, synchronizing access to the master->datagram_queue list structure. --- master/master.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/master/master.h b/master/master.h index 89debd1f..c51d79fb 100644 --- a/master/master.h +++ b/master/master.h @@ -260,6 +260,7 @@ struct ec_master { struct list_head datagram_queue; /**< Datagram queue. */ uint8_t datagram_index; /**< Current datagram index. */ + ec_lock_t io_sem; /**< Semaphore protecting the datagram_queue. */ struct list_head ext_datagram_queue; /**< Queue for non-application datagrams. */ @@ -290,8 +291,6 @@ struct ec_master { struct list_head eoe_handlers; /**< Ethernet over EtherCAT handlers. */ #endif - ec_lock_t io_sem; /**< Semaphore used in \a IDLE phase. */ - void (*send_cb)(void *); /**< Current send datagrams callback. */ void (*receive_cb)(void *); /**< Current receive datagrams callback. */ void *cb_data; /**< Current callback data. */