Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Prova 2/Questao3.pdf Scanned by CamScanner Scanned by CamScanner Prova 2/Questao2.pdf Scanned by CamScanner Prova 2/Questao1.txt Problema: Durante a execução de um tratador de um sinal recém entregue, um novo sinal pode ser gerado para o mesmo processo e entregue. Sendo esse segundo sinal capturado, há portanto um desvio para o tratador desse sinal. Esse tratador pode fazer acesso a estruturas de dados que estavam sendo manipuladas dentro do tratador do primeiro sinal... o que pode gerar inconcistências. Solução: Utilizar a chamada sigaction() para definir os tratadores de sinais, definindo também as máscaras de boloqueio especificando o conjunto de sinais que devem permanecer bloqueados enquanto cada tratador estiver sendo executado. A ideia é, para um dado tratador de sinais funcX(), bloquer os sinais cujos tratadores manipulam as mesmas estruturas de dados manipuladas em funcX().
Compartilhar