GLib-ERROR:为GWakeup创建管道:打开的文件太多

问题描述 投票:0回答:1

[我在使用clang 9的ubuntu 20.04下运行我的C ++程序时收到此错误:

GLib-ERROR:为GWakeup创建管道:打开的文件太多

我知道我有很多打开的文件,这是一个具有mip-map切片纹理缓存的CGI渲染器,它在需要时仅将部分图像加载到缓存中,而不加载整个图像,从而使文件保持打开状态。大约有3000张图片,但在崩溃前仅打开了1000张图片。

我不明白,这些纹理文件是使用stdlib fopen()而不是GLib / GTK读取的。那么,为什么错误来自GLib?

c++ file-io fopen glib
1个回答
0
投票

打开文件的限制是整个过程或系统范围的。因此,是否由GLib打开它们都没关系(无论如何,GLib也使用相同的操作系统调用来打开文件)。如果使用fopen()同时打开1000个文件,请考虑关闭它们。

© www.soinside.com 2019 - 2024. All rights reserved.