mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-08 08:34:31 +01:00
db: Move tracking of pending statements into the struct db
We now have a much stronger consistency check from the combination of transaction wrapping, tal memory leak detection. Tramsaction wrapping ensures that each statement is executed before the transaction is committed. The commit is also driven by the `io_loop`, which means that it is no longer possible for us to have statements outside of transactions and transactions are guaranteed to commit at the round's end. By adding the tal-awareness we can also get a much better indication as to whether we have un-freed statements flying around, which we can test at the end of the round as well. Signed-off-by: Christian Decker <decker.christian@gmail.com>
This commit is contained in:
committed by
Rusty Russell
parent
b06cb68330
commit
b6d583c26a
@@ -571,11 +571,7 @@ static void pidfile_create(const struct lightningd *ld)
|
||||
* extra sanity checks, and it's also a good point to free the tmpctx. */
|
||||
static int io_poll_lightningd(struct pollfd *fds, nfds_t nfds, int timeout)
|
||||
{
|
||||
/*~ In particular, we should *not* have left a database transaction
|
||||
* open! */
|
||||
db_assert_no_outstanding_statements();
|
||||
|
||||
/* The other checks and freeing tmpctx are common to all daemons. */
|
||||
/* These checks and freeing tmpctx are common to all daemons. */
|
||||
return daemon_poll(fds, nfds, timeout);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user