что происходит, память стека функций и управление функцией, откуда вы вызываете сигнал - PullRequest
0 голосов
/ 08 ноября 2010

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

//if we have a signal declared as :
typedef boost::signal0<void> SendAbortSignal;
SendAbortSignal CallAbortFunction;
void Func1() {
   ....

   if(SomethingWentBad) {
      CallAbortFunction();
      //do local clean ups // What will happen here.. will we wait for the signalled function to complete
   }
.....
}

Спасибо.

1 Ответ

1 голос
/ 08 ноября 2010

Я не уверен, что понимаю ваш вопрос.Запуск сигнала (CallAbortFunction) будет последовательно вызывать каждый слот, а затем возвращаться (ваши локальные очистки не будут выполняться одновременно).По сути, это то же самое, что перебирать последовательность функций и вызывать их одну за другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...