have dedicated thread handle timer signals

Because write to actual files is not actually interruptible via
signals on Linux.