В статье "Use reentrant functions for safer signal handling" рассказывается как избежать ошибок, которые могут возникнуть при повторном вхождении в функцию до ее завершения, например, при обработке сигналов.