aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorCalvin Rose <calsrose@gmail.com>2026-02-20 07:35:18 -0600
committerCalvin Rose <calsrose@gmail.com>2026-02-20 07:35:18 -0600
commit56b59985537a53059d6935593306c37d2f5f63ca (patch)
treed0b2b40358bd26ceb0f9de4ea85bd34a4ba274ac
parentfix multicast on illumos (#1717) (diff)
Suspicious locking behavior with select.
This looks like it could cause deadlocks with threaded channels (normal channels are unaffected, locking/unlocking is a no-op).
-rw-r--r--src/core/ev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/ev.c b/src/core/ev.c
index b6d85376..98452e28 100644
--- a/src/core/ev.c
+++ b/src/core/ev.c
@@ -1249,6 +1249,7 @@ JANET_CORE_FN(cfun_channel_choice,
chan_unlock_args(argv, i);
return make_write_result(chan);
}
+ janet_chan_unlock(chan);
} else {
/* Read */
JanetChannel *chan = janet_getchannel(argv, i);
@@ -1264,6 +1265,7 @@ JANET_CORE_FN(cfun_channel_choice,
chan_unlock_args(argv, i);
return make_read_result(chan, item);
}
+ janet_chan_unlock(chan);
}
}