Как бы не за что, но это изврат на самом деле
Асинхронная передача с циклом, с таймером, превращаемая в синхронную
Наоборот, мне понравилось. Я напомню - у меня два разных процесса, один пишет в БД, второй - читает то, что пишет первый. Первый дописал, дал сигнал. Второй по этому сигналу прочел данные и завершился. Предельное время ожидания задается таймером, для случаев, когда первый загнется.
QEventLoop loop;
QTimer::singleShot(500, &loop, SLOT(quit()));
connect(this,SIGNAL(transComplete()), &loop,SLOT(quit()));
loop.exec();
Все красиво, и, главное, просто. Правда, не знаю, можно ли сигналы Qt передавать между процессами linux. Но, думаю, это решается, если не так, то по-другому.
PS Кстати, вспомнил про Unix-сокеты (AF_UNIX).