Casa > O > O Que É Sinal-Safe?

O que é sinal-safe?

Definição da função de segurança de sinal assíncrono(From: BB. Definitions - Secure Coding - CERT Secure Coding Standards)

Uma função é assíncrona segura, ou assíncrona segura de sinal, se ela pode ser chamada de segura e sem efeitos colaterais de dentro de um contexto de manipulador de sinal. Ou seja, ela deve ser capaz de ser interrompida em qualquer ponto para ficar linearmente fora de sequência sem causar um estado inconsistente. Ele também deve funcionar corretamente quando os dados globais podem estar em um estado inconsistente. Algumas operações assíncronas seguras são listadas aqui:
<

  • Chamar a função signal() para reinstalar um manipulador de sinal
  • Uncondicionalmente modificar uma variável volátil sig_atômica_t (já que a modificação deste tipo é atômica)li>Chamar a função _Exit() para terminar imediatamente a execução do programa
  • Invoque uma função assíncrona segura, conforme especificado pela implementação
p> Poucas funções são portavelmente assíncronas seguras.
<

>br>Note: Leia o que significa "efeitos colaterais", seguindo o link

>A partir daí acredito que esta funcionalidade contém a chave para funções assíncronas seguras

ul> Função reentrante sem utilizar primitivas de sincronização (Nota: reentrante para thread safe e reentrante para manipuladores de sinal são diferentes. Eu entendo que reentrante não tem nada a ver com a função async-signal-safe, mas parece ser um bloco básico para isso)li> para bloquear a geração do sinal no momento certo (lido em momentos sensíveis/críticos). Não queremos que os nossos manipuladores de sinais gerem sinais e dêem comportamentos indefinidos.
>

>>br>>dealmente a sua função, deve estar a fazer o mínimo possível e até um certo ponto, definir/rejustar as bandeiras para as suas necessidades especiais (i.e. alterar o fluxo/saída do programa)

p>Por favor consulte o link/Source:
http://stackoverflow.com/questions/8493095/what-constitutes-asynchronous-safeness
Signal Handlers and Async-Signal Safety
All about Linux signals (Section: Signal-Safe functions)

De Roseanne

Como podemos dizer que o LG K42 é o smartphone mais durável no segmento do orçamento? :: Qual é o uso prático da permutação e combinação na vida real?