After removing the isc_task_onshutdown(), the isc_task_shutdown() and isc_task_destroy() became obsolete. Remove calls to isc_task_shutdown() and replace the calls to isc_task_destroy() with isc_task_detach(). Simplify the internal logic to destroy the task when the last reference is removed.