Обработка POSIX-сигналов: vsnprintf () и localtime_r() - безопасные функции?
Имеется в виду их использование в обработчике сигналов. Я знаю, что в списке безопасных функций из man signal для Linux RedHat их нет.
И все таки, какие есть мнения о возможности их вызывать, допустим обработчик не прерываем, тогда можно? Или можно, только для определенных участков прерываемого кода?
Обновление
Собственно сомнения в безопасности этих функций состоят в следующем:
vsnprintf ()
- используется ли в vsnprintf
пара va_start()
... va_end()
и если да, то используют ли va_start()
... va_end()
неатомарные действия с нелокальными структурами данных?
Если на любой из этих вопросов ответ отрицательный, то vsnprintf()
безопасна (в предположении, что она запрограммирована без malloc()
).
localtime_r ()
- откуда она берет timezone ?
Если не из файлов (а откуда ?), то безопасна.
Заранее благодарен за комментарии.