Согласно APUE 2e Chapter 12.5:
Если функция реентерабельна по отношению к нескольким потокам, мы говорим, что она потокобезопасна. . Однако это не говорит нам, является ли функция реентерабельной по отношению к обработчикам сигналов. Мы говорим, что функция, которую можно безопасно повторно ввести из обработчика асинхронного сигнала, безопасна для асинхронного сигнала.
Мои вопросы:
Q1:
Существует ли концепция «общего повторного входа» (что означает повторный вход при любых обстоятельствах)? Если да, равен ли общий повторный вход повторному входу только в отношении многопоточности и асинхронного сигнала? Или есть еще и третье условие, которое необходимо учитывать, когда речь идет об общем повторном входе?
Q2:
Безопасность потоков не означает безопасность асинхронных сигналов, что очевидно. Но действительно ли безопасность асинхронного сигнала означает безопасность потоков? Я много гуглил, люди говорят, что это так, но я не могу найти никакого источника для этого.
Q3:
Если ответы на оба Q1 и Q2 да, я предполагаю, что общий повторный вход просто равен безопасному асинхронному сигналу?