Ao ler a norma, entendo que:
- manipulação de sinal é uma propriedade compartilhada por todas as threads de um processo;
- máscara de sinal é uma propriedade por thread.
No entanto, o padrão lista o seguinte (na edição de 2018 do volume Base, seção 3.210 Live Process) como "recurso do sistema compartilhado entre todos os threads em um processo":
- ID do processo, ID do processo pai, ID do grupo de processos, associação à sessão,
- IDs de usuário e grupo reais, efetivos e salvos e IDs de grupo suplementares,
- diretório de trabalho atual, diretório raiz,
- umask,
- descritores de arquivos.
com tratamento de sinal faltando na lista.
É correto dizer que: a manipulação de sinais é uma propriedade associada ao processo? Ou há uma razão pela qual foi deixado de fora da lista acima?
A resposta é sim: o tratamento de sinais é compartilhado entre todas as threads de um processo.
A razão pela qual é "deixado de fora" da lista é que os manipuladores de sinal não são realmente uma "propriedade" ou um "recurso" de um processo. Você não pode vê-lo em qualquer lugar em
/proc<pid>/
. É como dizer que funções, variáveis globais ou memória em geral são uma "propriedade compartilhada" de um processo - é apenas parte de uma definição do que é um "processo".