Browse Source

HACKING.md: describe take() in more detail.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ppa-0.6.1
Rusty Russell 7 years ago
parent
commit
758317387e
  1. 7
      doc/HACKING.md

7
doc/HACKING.md

@ -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…
Cancel
Save