Qt事件侦听器是否占用文件句柄?

时间:2012-04-04 14:22:19

标签: multithreading qt unix signals

在运行Qt应用程序的服务器上,我得到了以下错误,只要其他备份作业在夜间开始运行:

QEventDispatcherUNIXPrivate(): Unable to create thread pipe: Too many open files
QEventDispatcherUNIXPrivate(): Can not continue without a thread pipe

connect函数是否需要“unix文件句柄”?例如,如果我执行以下操作,是否需要从操作系统获取额外的文件句柄资源,直到我断开连接?

connect(this, SIGNAL(sendConfig(QString, QString)), deviceCon, SLOT(setDeviceConfig(QString, QString)));
emit sendConfig(configEntry, configValue);
disconnect(this, SIGNAL(sendConfig(QString, QString)), deviceCon, SLOT(setDeviceConfig(QString, QString)));

感谢。 Spikey

1 个答案:

答案 0 :(得分:2)

我能找到的最好的主题是QT 4.2的参考资料。

你的问题的答案是肯定的。该类打开一个管道创建文件句柄,然后在select中使用它来处理事件。

P.S。刚刚确认4.8中的类似方法