mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 01:43:36 +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
@ -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…
Reference in New Issue
Block a user