diff --git a/contrib/pyln-testing/pyln/testing/utils.py b/contrib/pyln-testing/pyln/testing/utils.py index 69b89ccdd..32ef1bf3e 100644 --- a/contrib/pyln-testing/pyln/testing/utils.py +++ b/contrib/pyln-testing/pyln/testing/utils.py @@ -877,7 +877,7 @@ class LightningNode(object): timeout=TIMEOUT, stdout=subprocess.PIPE).stdout.strip() out = subprocess.run(['devtools/gossipwith', - '--timeout-after={}'.format(int(math.sqrt(TIMEOUT) * 1000)), + '--timeout-after={}'.format(int(math.sqrt(TIMEOUT) + 1)), '{}@localhost:{}'.format(self.info['id'], self.port), query], diff --git a/devtools/gossipwith.c b/devtools/gossipwith.c index cac8eb32b..90940e520 100644 --- a/devtools/gossipwith.c +++ b/devtools/gossipwith.c @@ -164,7 +164,8 @@ static struct io_plan *handshake_success(struct io_conn *conn, beint16_t belen; u8 *msg; - if (poll(pollfd, ARRAY_SIZE(pollfd), timeout_after) == 0) + if (poll(pollfd, ARRAY_SIZE(pollfd), + timeout_after < 0 ? -1 : timeout_after * 1000) == 0) return 0; /* We always to stdin first if we can */ @@ -235,7 +236,7 @@ int main(int argc, char *argv[]) "Secret key to use for our identity"); opt_register_arg("--timeout-after", opt_set_intval, opt_show_intval, &timeout_after, - "Exit (success) this many msec after no msgs rcvd"); + "Exit (success) this many seconds after no msgs rcvd"); opt_register_noarg("--help|-h", opt_usage_and_exit, "id@addr[:port] [hex-msg-tosend...]\n" "Connect to a lightning peer and relay gossip messages from it", diff --git a/tests/test_gossip.py b/tests/test_gossip.py index 15a53202a..27df804bd 100644 --- a/tests/test_gossip.py +++ b/tests/test_gossip.py @@ -1066,7 +1066,7 @@ def test_gossipwith(node_factory): out = subprocess.run(['devtools/gossipwith', '--initial-sync', - '--timeout-after={}'.format(int(math.sqrt(TIMEOUT) * 1000)), + '--timeout-after={}'.format(int(math.sqrt(TIMEOUT) + 1)), '{}@localhost:{}'.format(l1.info['id'], l1.port)], check=True, timeout=TIMEOUT, stdout=subprocess.PIPE).stdout