mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-03 10:46:58 +01:00
HACKING.md: describe take() in more detail.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
9b129f7fb5
commit
758317387e
1 changed files with 5 additions and 2 deletions
|
@ -22,8 +22,11 @@ to an array of `struct bitcoin_tx_input`; they are allocated off the
|
|||
all. Tal also supports destructors, which are usually used to remove
|
||||
things from lists, etc.
|
||||
|
||||
Some routines use take() to indicate whether they should take ownership
|
||||
of a pointer. Use this sparingly, as it can be very confusing.
|
||||
Some routines use take(): take() marks a pointer as to be consumed
|
||||
(e.g. freed automatically before return) by a called function. It can
|
||||
safely accept NULL pointers. Functions whose prototype in headers has
|
||||
the macro TAKES can have the specific argument as a take() call. Use
|
||||
this sparingly, as it can be very confusing.
|
||||
|
||||
The more complex daemons use async io (ccan/io): you register callbacks and they
|
||||
happen once I/O is available, then you return what to do next. This
|
||||
|
|
Loading…
Add table
Reference in a new issue