Guia de rastreamento dinâmico Solaris

Ações especiais

Esta seção descreve ações que não são de registro de dados ou destrutivas.

Ações especulativas

As ações associadas ao rastreio especulativo são speculate (), commit() e discard(). Essas ações são tratadas no Capítulo 13Rastreio especulativo.

exit()

void exit(int status)

A ação exit() é usada para interromper o rastreio imediatamente e para informar ao consumidor do DTrace que ele deve interromper o rastreio, realizar o processamento final e chamar exit(3C) com o status especificado. Como exit() retorna um status para o nível do usuário, ela é uma ação de registro de dados. Entretanto, ao contrário de outras ações de armazenamento de dados, exit() não pode ser rastreada especulativamente. exit() fará com que o consumidor do DTrace seja encerrado independentemente da política do buffer. Como exit() é uma ação de registro de dados, ela pode ser cancelada.

Quando exit() é chamada, somente as ações do DTrace já em andamento em outras CPUs serão concluídas. Nenhuma ação nova ocorrerá em qualquer CPU. A única exceção a essa regra é o processamento do teste END, que será chamado depois que o consumidor do DTrace tiver processado a ação exit() e indicado que o rastreio deve ser encerrado.