abort(3) | Library Functions Manual | abort(3) |
NOME
abort - causa encerramento anormal do processo
BIBLIOTECA
Biblioteca C Padrão (libc, -lc)
SINOPSE
#include <stdlib.h>
[[noreturn]] void abort(void);
DESCRIÇÃO
A função abort() primeiro desbloqueia o sinal SIGABRT e, em seguida, levanta esse sinal para o processo de chamada (como se raise(3) tivesse sido chamado). Isso resulta na encerramento anormal do processo, a menos que o sinal SIGABRT seja capturado e o manipulador de sinal não retorne (consulte longjmp(3)).
Se o sinal SIGABRT for ignorado ou capturado por um manipulador que retorne, a função abort() ainda encerrará o processo. Isso é feito restaurando a disposição padrão para SIGABRT e aumentando o sinal pela segunda vez.
As with other cases of abnormal termination the functions registered with atexit(3) and on_exit(3) are not called.
VALOR DE RETORNO
A função abort() nunca retorna.
ATRIBUTOS
Para uma explicação dos termos usados nesta seção, consulte attributes(7).
Interface | Atributo | Valor |
abort() | Thread safety | MT-Safe |
PADRÕES
C11, POSIX.1-2008.
HISTÓRICO
SVr4, POSIX.1-2001, 4.3BSD, C89.
Até a glibc 2.26, se a função abort() causava o encerramento do processo, todos os fluxos abertos eram fechados e liberados (como em fclose(3)). No entanto, em alguns casos, isso pode resultar em conflitos e corrupção de dados. Portanto, começando com glibc 2.27, abort() encerra o processo sem liberar fluxos. O POSIX.1 permite qualquer comportamento possível, dizendo que abort() "pode incluir uma tentativa de efetuar fclose() em todos os fluxos abertos".
VEJA TAMBÉM
gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)
TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por Paulo César Mendes <drpc@ism.com.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.
Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.
2 maio 2024 | Linux man-pages 6.9.1 |