io: fix nasty io_wake corner case.
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 31 May 2017 03:05:45 +0000 (12:35 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 31 May 2017 03:05:45 +0000 (12:35 +0930)
If we're duplex and one io_always callback makes the other io_always,
we screwed up and hit an assertion later when the conn was in the
always list but didn't actually want to be.

io_wake() uses io_always(), so this is how it happened.  Writing a
test case for this was a bit fun, too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

No differences found