Eu localizei o link e link .
Parece haver alguns casos em que SIGHUP signal é entregue quando o daemon() faz um fork(2) seguido por um _exit(2) do pai, o que tornaria hup seja entregue (conforme _exit(2) ) e será encerrado o processo filho se o pai a partir do qual ele é executado já é o líder da sessão, conforme descrito em setsid(2) .
Para evitar o término involuntário da criança nestas circunstâncias limitadas, quando o chamador é o líder da sessão (lista completa quando é o caso no Bugzilla acima), o SIGHUP é temporariamente ignorado.