CVSROOT: /cvs Module name: src Changes by: flor...@cvs.openbsd.org 2019/11/14 01:30:10
Modified files: sbin/unwind : resolver.c unwind.h Log message: Since resolve() switched to a callback mechanism all uw_resolver objects pass through resolve() and either asr_resolve_done() or ub_resolve_done(). With that we can pull resolver_ref() and resolver_unref() into those functions to make the reference counting easier. Only check_resolver is special since it needs to refcount the to be checked resolver. But the resolver doing the actual work is automatically refcounted by resolve() and *_resolve_done(). One last piece of the puzzle is to track the uw_resolver object in cb_data so that the *_resolve_done() functions have access to it. This also allowes us to remove the ad-hoc passing of the resolver in query_imsg. Since the callback functions all need access to the resolver that did the work we pass it in as first argument. OK otto