channels; previously we were throwing away the events we computed if the
channel had a c->sock distinct from it's other read and write fds.
Fortunately, it appears that this case happens rarely, if ever.
Reported by Darafei Praliaskouski via GHPR660
OpenBSD-Commit-ID:
d3f483b7919946c5649e8c697d5b927af35aac4b
-/* $OpenBSD: channels.c,v 1.460 2026/05/31 06:14:42 djm Exp $ */
+/* $OpenBSD: channels.c,v 1.461 2026/06/01 05:40:13 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
if (ev != 0) {
c->pfds[3] = p;
pfd[p].fd = c->sock;
- pfd[p].events = 0;
+ pfd[p].events = ev;
dump_channel_poll(__func__, "sock", c, p, &pfd[p]);
p++;
}