Могу ли я предоставить/передать любые аргументы обработчику сигналов?
/* Signal handling */
struct sigaction act;
act.sa_handler = signal_handler;
/* some more settings */
Теперь обработчик выглядит так:
void signal_handler(int signo) {
/* some code */
}
Если я хочу сделать что-то особенное, то есть удалить временные файлы, могу ли я предоставить эти файлы в качестве аргумента этому обработчику?
Редактировать 0: Спасибо за ответы. Мы вообще избегаем/препятствуем использованию глобальных переменных. И в этом случае, если у вас есть огромная программа, все может пойти не так, как надо, в разных местах, и вам, возможно, придется сделать много очистки. Почему API был разработан таким образом?