mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-02 18:35:00 +01:00
lightningd: fix fundchannel_complete race.
If we already have a fundchannel_complete, don't attach another one. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
13dbe6e74b
commit
4b1a300ee3
1 changed files with 6 additions and 1 deletions
|
@ -312,6 +312,9 @@ static void funding_started_success(struct funding_channel *fc,
|
||||||
scriptPubkey);
|
scriptPubkey);
|
||||||
if (out)
|
if (out)
|
||||||
json_add_string(response, "funding_address", out);
|
json_add_string(response, "funding_address", out);
|
||||||
|
|
||||||
|
/* Clear this so cancel doesn't think it's still in progress */
|
||||||
|
fc->cmd = NULL;
|
||||||
was_pending(command_success(cmd, response));
|
was_pending(command_success(cmd, response));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1133,8 +1136,10 @@ static struct command_result *json_fund_channel_complete(struct command *cmd,
|
||||||
|
|
||||||
if (!peer->uncommitted_channel->fc || !peer->uncommitted_channel->fc->inflight)
|
if (!peer->uncommitted_channel->fc || !peer->uncommitted_channel->fc->inflight)
|
||||||
return command_fail(cmd, LIGHTNINGD, "No channel funding in progress.");
|
return command_fail(cmd, LIGHTNINGD, "No channel funding in progress.");
|
||||||
|
if (peer->uncommitted_channel->fc->cmd)
|
||||||
|
return command_fail(cmd, LIGHTNINGD, "Channel funding in progress.");
|
||||||
|
|
||||||
/* Update the cmd to the new cmd */
|
/* Set the cmd to this new cmd */
|
||||||
peer->uncommitted_channel->fc->cmd = cmd;
|
peer->uncommitted_channel->fc->cmd = cmd;
|
||||||
msg = towire_opening_funder_complete(NULL,
|
msg = towire_opening_funder_complete(NULL,
|
||||||
funding_txid,
|
funding_txid,
|
||||||
|
|
Loading…
Add table
Reference in a new issue