Freshly deleted objects are temporarily "inert" until their destruction
is acknowledged by the compositor.
Inert objects are ignored. By doing so, we mistakenly returned too
early and missed some FD cleanup logic. This patch ensures that any
outstanding FDs are always closed by moving its logic outside of the
message handling routine.
(cherry picked from commit 6e5d1e00e02cf9086224b5eb3258f901a26de413)