aboutsummaryrefslogtreecommitdiff
path: root/src/supplemental/websocket/websocket.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2020-12-19 10:21:54 -0800
committerGarrett D'Amore <garrett@damore.org>2020-12-19 12:50:05 -0800
commitd12e169c1e733b255d146847ed57037b74681285 (patch)
treee4a59142a6cf097dfdda8620635f173f53db9e7a /src/supplemental/websocket/websocket.c
parent2033988343bce413763d3e9664e3e8372da48591 (diff)
downloadnng-d12e169c1e733b255d146847ed57037b74681285.tar.gz
nng-d12e169c1e733b255d146847ed57037b74681285.tar.bz2
nng-d12e169c1e733b255d146847ed57037b74681285.zip
fixes #1372 nni_reap could be smaller
Diffstat (limited to 'src/supplemental/websocket/websocket.c')
-rw-r--r--src/supplemental/websocket/websocket.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/supplemental/websocket/websocket.c b/src/supplemental/websocket/websocket.c
index 20adf626..daf1be13 100644
--- a/src/supplemental/websocket/websocket.c
+++ b/src/supplemental/websocket/websocket.c
@@ -47,7 +47,7 @@ typedef struct ws_header {
struct nni_ws {
nng_stream ops;
nni_list_node node;
- nni_reap_item reap;
+ nni_reap_node reap;
bool server;
bool closed;
bool ready;
@@ -1251,10 +1251,15 @@ ws_fini(void *arg)
NNI_FREE_STRUCT(ws);
}
+static nni_reap_list ws_reap_list = {
+ .rl_offset = offsetof(nni_ws, reap),
+ .rl_func = ws_fini,
+};
+
static void
ws_reap(nni_ws *ws)
{
- nni_reap(&ws->reap, ws_fini, ws);
+ nni_reap(&ws_reap_list, ws);
}
static void
@@ -2656,7 +2661,7 @@ static void
ws_str_free(void *arg)
{
nni_ws *ws = arg;
- nni_reap(&ws->reap, ws_fini, ws);
+ ws_reap(ws);
}
static void