MINOR: raw_sock: Add a close method.
Add a close() method, that explicitely cancels any subscription on the
connection, in preparation for future evolutions.
diff --git a/src/raw_sock.c b/src/raw_sock.c
index 1900a5c..4fbc1a5 100644
--- a/src/raw_sock.c
+++ b/src/raw_sock.c
@@ -434,6 +434,13 @@
return conn_unsubscribe(conn, xprt_ctx, event_type, es);
}
+static void raw_sock_close(struct connection *conn, void *xprt_ctx)
+{
+ if (conn->subs != NULL) {
+ conn_unsubscribe(conn, NULL, conn->subs->events, conn->subs);
+ }
+}
+
/* We can't have an underlying XPRT, so just return -1 to signify failure */
static int raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
{
@@ -457,7 +464,7 @@
#endif
.shutr = NULL,
.shutw = NULL,
- .close = NULL,
+ .close = raw_sock_close,
.name = "RAW",
};