[Tarantool-patches] [PATCH v6 2/3] iproto: fix comment and add assert on destruction
Ilya Kosarev
i.kosarev at tarantool.org
Sun Dec 13 02:38:46 MSK 2020
The comment in tx_process_destroy() about obuf destroting was wrong.
Memory for them is actually allocated from tx-belonging slab cache and
tx_process_destroy() obviously happens in tx, so the comment is fixed
to reflect the reality.
It is also implied that connection is in IPROTO_CONNECTION_DESTROYED
state in tx_process_destroy(). Now it is verified with assert().
Part of #3776
---
src/box/iproto.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/box/iproto.cc b/src/box/iproto.cc
index 6a1e509225..f7330af21d 100644
--- a/src/box/iproto.cc
+++ b/src/box/iproto.cc
@@ -1379,13 +1379,14 @@ tx_process_destroy(struct cmsg *m)
{
struct iproto_connection *con =
container_of(m, struct iproto_connection, destroy_msg);
+ assert(con->state == IPROTO_CONNECTION_DESTROYED);
if (con->session) {
session_destroy(con->session);
con->session = NULL; /* safety */
}
/*
- * Got to be done in iproto thread since
- * that's where the memory is allocated.
+ * obuf is being destroyed in tx thread cause it is where
+ * it was allocated.
*/
obuf_destroy(&con->obuf[0]);
obuf_destroy(&con->obuf[1]);
--
2.17.1
More information about the Tarantool-patches
mailing list