The problem is that {IPC_ENGINE}.close_ecdbgd sleeps for only 1 millisecond (1_000_000 nanoseconds) for up to `ise_ending_timeout' times before exiting the loop and checking whether the daemon is dead. Perhaps the intention was for it to sleep for 1 second each time around the loop, instead of only 1 millisecond (though 1 second seems like a long time). Currently, it will only wait a total of 100 milliseconds. Or maybe `ise_ending_timeout' defaults to a value that is too small.