[Tarantool-patches] [PATCH v3 3/6] box/error: clarify purpose of reference counting in struct error
Nikita Pettik
korablev at tarantool.org
Mon Apr 6 17:17:12 MSK 2020
---
src/lib/core/diag.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/lib/core/diag.h b/src/lib/core/diag.h
index 9c238f5a2..7a5454d1c 100644
--- a/src/lib/core/diag.h
+++ b/src/lib/core/diag.h
@@ -71,6 +71,15 @@ struct error {
error_f raise;
error_f log;
const struct type_info *type;
+ /**
+ * Reference counting is basically required since
+ * instances of this structure are available in Lua
+ * as well (as cdata with overloaded fields and methods
+ * by the means of introspection). Thus, it may turn
+ * out that Lua's GC attempts at releasing object
+ * meanwhile it is still used in C internals or vice
+ * versa. For details see luaT_pusherror().
+ */
int refs;
/**
* Errno at the moment of the error
--
2.17.1
More information about the Tarantool-patches
mailing list