"Again, the responsibility of checking this return code
and taking appropriate action lies with the programmer. So a lazy
programmer might prefer putting the process into uninterruptible
sleeping mode because signals do not wake up such tasks. But be
cautious of cases where the wakeup call on the process sleeping
uninterruptibly could not happen for some reason, making the
process unkillable, which will eventually cause frustration since
the only way out is a system reboot."