abort(3) Library Functions Manual abort(3)

abort - causa encerramento anormal do processo

Biblioteca C Padrão (libc, -lc)

#include <stdlib.h>
[[noreturn]] void abort(void);

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.

A função abort() nunca retorna.

Para uma explicação dos termos usados nesta seção, consulte attributes(7).

Interface Atributo Valor
abort() Thread safety MT-Safe

C11, POSIX.1-2008.

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".

gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

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.

31 outubro 2023 Linux man-pages 6.06