потокобезопасный против асинхронного безопасного сигнала - PullRequest
2 голосов
/ 01 марта 2012

В разделе 12.5 APUP упоминается, что:

» Если функция реентерабельна относительно нескольких потоков, мы говорим, что она потокобезопасна. Однако это не говорит нам, является ли функция реентерабельной по отношению к обработчикам сигналов. "

Меня смущало, почему функция поточно-ориентированная, но, возможно, не асинхронно-безопасная.

есть ли пример?

Спасибо

1 Ответ

1 голос
/ 01 марта 2012

Функция может быть поточно-ориентированной, если она защищает состояние, которое она изменяет, с помощью мьютекса.Однако это не безопасно для асинхронных сигналов, поскольку, если вы вызываете функцию, например, из обработчика сигнала, программа может заблокироваться.

Общей функцией с этим свойством является malloc ().

...