This patch set continues earlier work of improving how threads and services are managed. Specifically it drop the refcount. The refcount is always changed under the mutex, and almost always is exactly equal to the number of threads. Those few cases where it is more than the number of threads can usefully be handled other ways as see in the patches. The first patches fixes a potential use-after-free when adding a socket fails. This might be the UAF that Jeff mentioned recently. The second patch which removes the use of a refcount in pool_stats handling is more complex than I would have liked, but I think it is worth if for the result seen in 4/5 of substantial simplification. NeilBrown