summaryrefslogtreecommitdiffstats
path: root/channels.h
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2022-03-30 23:10:25 +0200
committerDamien Miller <djm@mindrot.org>2022-03-30 23:16:38 +0200
commitd6556de1db0822c76ba2745cf5c097d9472adf7c (patch)
tree15e55e996842e9b5944a4bbf513e0710d5c48633 /channels.h
parentupstream: ssh is almost out of getopt() characters; note the (diff)
downloadopenssh-d6556de1db0822c76ba2745cf5c097d9472adf7c.tar.xz
openssh-d6556de1db0822c76ba2745cf5c097d9472adf7c.zip
upstream: fix poll() spin when a channel's output fd closes without
data in the channel buffer. Introduce more exact packing of channel fds into the pollfd array. fixes bz3405 and bz3411; ok deraadt@ markus@ OpenBSD-Commit-ID: 06740737849c9047785622ad5d472cb6a3907d10
Diffstat (limited to 'channels.h')
-rw-r--r--channels.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/channels.h b/channels.h
index 82f33ba2f..dfb82f8ce 100644
--- a/channels.h
+++ b/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.141 2022/01/22 00:49:34 djm Exp $ */
+/* $OpenBSD: channels.h,v 1.142 2022/03/30 21:10:25 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -138,7 +138,7 @@ struct Channel {
int sock; /* sock fd */
u_int io_want; /* bitmask of SSH_CHAN_IO_* */
u_int io_ready; /* bitmask of SSH_CHAN_IO_* */
- int pollfd_offset; /* base offset into pollfd array (or -1) */
+ int pfds[4]; /* pollfd entries for rfd/wfd/efd/sock */
int ctl_chan; /* control channel (multiplexed connections) */
int isatty; /* rfd is a tty */
#ifdef _AIX