Add is_leaf and send_to_prune_tree.

Add is_leaf and send_to_prune_tree to make the logic easier
to understand in cleanup_dead_nodes and decrement_reference.
76 jobs for !2703 with 1443-threadsanitizer-data-race-lib-dns-rbtdb-c-1960-in-decrement_reference-2 in 28 minutes and 59 seconds (queued for 7 seconds)
latest detached
Status Job ID Name Coverage
  Precheck
passed #462949
amd64 linux
🐞:sid:amd64

00:03:09

passed #462947
amd64 linux
autoreconf:sid:amd64

00:00:33

passed #462948
amd64 linux
misc:sid:amd64

00:00:16

 
  Build
passed #462962
amd64 linux
asan:sid:amd64

00:01:57

passed #462968
amd64 freebsd
clang:freebsd11.3:amd64

00:01:07

passed #462969
amd64 freebsd
clang:freebsd12.0:amd64

00:00:58

passed #462970
amd64 openbsd
clang:openbsd6.5:amd64

00:04:50

passed #462965
amd64 linux
clang:stretch:amd64

00:01:22

passed #462966
i386 linux
clang:stretch:i386

00:01:20

passed #462950
amd64 linux
gcc:alpine3.10:amd64

00:02:44

passed #462961
amd64 linux
gcc:bionic:amd64

00:01:44

passed #462956
amd64 linux
gcc:buster:amd64

00:01:46

passed #462951
amd64 linux
gcc:centos6:amd64

00:02:18

passed #462952
amd64 linux
gcc:centos7:amd64

00:02:10

passed #462953
amd64 linux
gcc:centos8:amd64

00:02:35

passed #462959
amd64 linux
gcc:fedora30:amd64

00:02:35

passed #462954
amd64 linux
gcc:jessie:amd64

00:00:59

passed #462957
amd64 linux
gcc:sid:amd64

00:02:14

passed #462958
i386 linux
gcc:sid:i386

00:01:06

passed #462955
amd64 linux
gcc:stretch:amd64

00:01:44

passed #462960
amd64 linux
gcc:xenial:amd64

00:01:41

passed #462972
amd64 windows
msvc:windows:amd64

00:02:28

passed #462964
amd64 linux
mutexatomics:sid:amd64

00:01:31

passed #462971
amd64 linux
nolibtool:sid:amd64

00:03:05

passed #462967
amd64 linux
pkcs11:sid:amd64

00:01:42

passed #462963
amd64 linux
rwlock:sid:amd64

00:01:46

 
  Unit
passed #462985
amd64 linux
unit:asan:sid:amd64

00:03:56

passed #463014
freebsd amd64
unit:clang:freebsd11.3:amd64

00:00:29

passed #462990
amd64 freebsd
unit:clang:freebsd12.0:amd64

00:01:07

passed #462987
amd64 linux
unit:clang:stretch:amd64

00:00:52

passed #463015
linux amd64
unit:gcc:alpine3.10:amd64

00:02:24

passed #462984
amd64 linux
unit:gcc:bionic:amd64

00:00:58

passed #462979
amd64 linux
unit:gcc:buster:amd64

00:01:24

passed #462974
amd64 linux
unit:gcc:centos6:amd64

00:01:09

passed #462975
amd64 linux
unit:gcc:centos7:amd64

00:00:50

passed #462976
amd64 linux
unit:gcc:centos8:amd64

00:00:47

passed #462982
amd64 linux
unit:gcc:fedora30:amd64

00:01:36

passed #462977
amd64 linux
unit:gcc:jessie:amd64

00:00:32

passed #462980
amd64 linux
unit:gcc:sid:amd64

00:01:37

passed #462981
i386 linux
unit:gcc:sid:i386

00:01:47

passed #462978
amd64 linux
unit:gcc:stretch:amd64

00:00:54

passed #462983
amd64 linux
unit:gcc:xenial:amd64

00:00:44

passed #462991
amd64 linux
unit:nolibtool:sid:amd64

00:01:53

passed #462988
amd64 linux
unit:pkcs11:sid:amd64

00:01:31

passed #462986
amd64 linux
unit:rwlock:sid:amd64

00:01:28

failed #462989
amd64 freebsd
unit:clang:freebsd11.3:amd64

00:05:08

failed #462973
amd64 linux
unit:gcc:alpine3.10:amd64

00:02:56

 
  System
passed #463004
amd64 linux
system:asan:sid:amd64

00:10:02

passed #463031
amd64 freebsd
system:clang:freebsd11.3:amd64

00:08:39

passed #463030
amd64 freebsd
system:clang:freebsd12.0:amd64

00:08:40

passed #462992
amd64 linux
system:gcc:alpine3.10:amd64

00:08:59

passed #463003
amd64 linux
system:gcc:bionic:amd64

00:07:05

passed #462998
amd64 linux
system:gcc:buster:amd64

00:08:29

passed #462993
amd64 linux
system:gcc:centos6:amd64

00:07:37

passed #462994
amd64 linux
system:gcc:centos7:amd64

00:08:01

passed #462995
amd64 linux
system:gcc:centos8:amd64

00:06:53

passed #463001
amd64 linux
system:gcc:fedora30:amd64

00:07:39

passed #462996
amd64 linux
system:gcc:jessie:amd64

00:07:51

passed #462999
amd64 linux
system:gcc:sid:amd64

00:08:04

passed #463000
i386 linux
system:gcc:sid:i386

00:08:52

passed #463029
amd64 linux
system:gcc:stretch:amd64

00:06:33

passed #463002
amd64 linux
system:gcc:xenial:amd64

00:07:05

passed #463009
amd64 linux
system:nolibtool:sid:amd64

00:08:40

passed #463020
linux amd64
system:pkcs11:sid:amd64

00:06:44

passed #463019
linux amd64
system:rwlock:sid:amd64

00:07:19

failed #463016
freebsd amd64
system:clang:freebsd11.3:amd64

00:08:39

failed #463007
amd64 freebsd
system:clang:freebsd11.3:amd64

00:08:42

failed #463008
amd64 freebsd
system:clang:freebsd12.0:amd64

00:08:43

failed #463018
freebsd amd64
system:clang:freebsd12.0:amd64

00:08:56

failed #463017
linux amd64
system:gcc:stretch:amd64

00:06:48

failed #462997
amd64 linux
system:gcc:stretch:amd64

00:07:45

failed #463006
amd64 linux
system:pkcs11:sid:amd64

00:07:52

failed #463005
amd64 linux
system:rwlock:sid:amd64

00:08:49

 
  Docs
passed #463010
amd64 linux
docs:sid:amd64

00:01:12

 
  Postcheck
passed #463012
amd64 linux
cppcheck:gcc:sid:amd64

00:01:56

passed #463011
amd64 linux
scan-build:buster:amd64

00:10:17