bcli: allow non 0 exit status for getblock call
This allows us to intercept getblock on a non 0 exit when the block was not found. We fill this with something meaningull in future commits. Signed-off-by: Peter Neuroth <pet.v.ne@gmail.com>
This commit is contained in:
committed by
Rusty Russell
parent
448f4c0cfb
commit
e06c3245f5
@@ -562,7 +562,7 @@ struct getrawblock_stash {
|
||||
const char *block_hex;
|
||||
};
|
||||
|
||||
static struct command_result *process_getrawblock(struct bitcoin_cli *bcli)
|
||||
static struct command_result *process_rawblock(struct bitcoin_cli *bcli)
|
||||
{
|
||||
struct json_stream *response;
|
||||
struct getrawblock_stash *stash = bcli->stash;
|
||||
@@ -577,6 +577,17 @@ static struct command_result *process_getrawblock(struct bitcoin_cli *bcli)
|
||||
return command_finished(bcli->cmd, response);
|
||||
}
|
||||
|
||||
static struct command_result *process_getrawblock(struct bitcoin_cli *bcli)
|
||||
{
|
||||
/* We failed to get the raw block. */
|
||||
if (bcli->exitstatus && *bcli->exitstatus != 0) {
|
||||
/* retry */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return process_rawblock(bcli);
|
||||
}
|
||||
|
||||
static struct command_result *
|
||||
getrawblockbyheight_notfound(struct bitcoin_cli *bcli)
|
||||
{
|
||||
@@ -607,7 +618,7 @@ static struct command_result *process_getblockhash(struct bitcoin_cli *bcli)
|
||||
return command_err_bcli_badjson(bcli, "bad blockhash");
|
||||
}
|
||||
|
||||
start_bitcoin_cli(NULL, bcli->cmd, process_getrawblock, false,
|
||||
start_bitcoin_cli(NULL, bcli->cmd, process_getrawblock, true,
|
||||
BITCOIND_HIGH_PRIO, stash,
|
||||
"getblock",
|
||||
stash->block_hash,
|
||||
|
||||
Reference in New Issue
Block a user