Ты вообще отличаешь понятие «делегат» или «функция обратного вызова» от UNIX-сигнала процессу? Qt'шные сигналы синхронны (кроме межтредовых), обрабатываться могут несколькими получателями, достаточно легковесны и применяются для уведомления о тех или иных событиях внутри программы. UNIX-сигналы асинхронны и в качестве коллбеков общего назначения не применимы. Их цель - сообщить процессу о некотором внешнем событии.
ага, щаз. там линейное увеличение времени обработки на каждый зарегистрированный сигнал
Ты наверно хотел сказать «зарегистрированный слот». А как ты себе еще представляешь синхронный вызов N обработчиков? Попробуй вместо обхода обработчиков по списку с последующим вызовом посылать своему процессу сигналы через signal(). Во-первых обработчики будут запускаться асинхронно, во-вторых, производительность просядет просто на порядки.