- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个使用 C++11 多线程的 gtkmm 应用程序。但是,我一直遇到 Fatal IO error 11 (Resource temporarily unavailable) on X server
错误。
我有几个 Gtk::Image
我 window 上的元素。每一个都有自己的Gtk::EventBox
并且我必须定期更改图像。为此,我创建了一个包含特定 block 的事件框的类,它具有删除前一个图像、生成新图像并将其放置在那里的功能。
这是一段代码:
while (lock_flag.test_and_set()) {} // std::atomic_flag lock
// ...
std::cerr << 1;
eventBox->foreach(
[eb = this->eventBox](Gtk::Widget& w)
{
eb->Gtk::Container::remove(w);
}
);
std::cerr << 2;
eventBox->add(*im);
std::cerr << 3;
eventBox->show_all_children();
std::cerr << 4;
// ...
lock_flag.clear();
error 11
发生一些数字没有打印到
std::cerr
,但是每次发生问题的地方都不同(我最近观察到它在 12 和 123 之后崩溃)。因此我得出的结论是,在某处使用的资源不是图像,而是
eventBox
。 .但是在程序初始化之后,在这个函数之外的任何地方都不能访问它,并且这个函数被包裹在
std::atomic_flag
中。锁。
std::thread
至Glib::Threads::Thread
,但无济于事,仍然得到同样的错误。 GDK_SYNCHRONIZE
对环境来说,这已经产生了[xcb] Unknown request in queue while dequeuing/[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
错误。这导致我到 this post ,之后我尝试调用XInitThreads()
在开始新线程之前(通过 Glib::Threads::Thread
和 std::thread
),但这没有任何积极作用;除了一次侥幸,线程实际上已经执行了整个函数(在屏幕上显示'4'),但仍然设法以相同的error 11
死掉。信息。 最佳答案
GTK 不是线程安全的。 You can use a global lock to access GTK from threads ,但最好的做法是只从主线程调用 GTK 函数。您可以使用Glib::signal_idle().connect和 Glib::MainContext::invoke()为了那个原因。
关于multithreading - 如何在多线程 gtkmm 应用程序中对抗 "Fatal IO error 11 (Resource temporarily unavailable) on X server"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31366963/
我有一个使用 ARM 模板创建的 python 函数应用程序。当我尝试使用 azure Devops 管道部署函数时,我遇到以下错误, “无法将Web包部署到应用服务。服务暂时不可用代码503” 最佳
如果我在 Python 解释器中创建了一个包含大量进程的池,它显然会出错,但是在这样做之前似乎并没有清理 fork 进程,因此留下了环境脏,系统的其余部分无法 fork 进程。 >>> from mu
我正在构建一个包含 DT 的 UI表格和 slider (均作为输入),以及绘图输出。这些表格用于从多个表格中进行选择。用户只能选择一个单元格进行选择。 我希望用户能够存储表格和 slider 的设置
有没有办法暂时将拆分 Pane 扩展为完整选项卡并在完成后再次返回?我正在寻找一个键盘快捷键来执行此操作。用例是能够根据需要临时切换到全屏。 最佳答案 要最大化事件面板,只需在要扩展的屏幕上 Cmd
我正在开发一个用 PHP 和 Mysqli 编写的复杂数据库应用程序。对于大型数据库操作,我使用后台运行的守护进程(也是 PHP)。在这些可能需要几分钟的操作期间,我想阻止用户访问受影响的数据并向他们
就在几天前,我能够访问我的谷歌电子表格来自一个应用程序(在应用程序引擎中),但今天它坏了。 也就是说,我可以 name= "name of my spreadsheet" self.client =
我开发和维护用 JSP 和 Java 编写的小型内联网 Web 应用程序。它们在 Resin 网络服务器上运行,没有像 Apache 那样的专用 httpd。 在执行维护之前,我激活了一个非常简单的
这是一段代码: public function uploadPhoto(){ $filename = '../storage/temp/image.jpg'; file_put_co
为什么以下代码会在 80% 的时间内打印“read(): Resource temporary unavailable”?那就是EAGAIN代码,和WOULD BLOCK一样,表示没有数据等待读取,但
我正在尝试在 C 的 linux (red-hut) 中创建单线程服务器,它将监听多个套接字。 当我像这样将标志设置为非阻塞时,我需要使用非阻塞套接字: int flagss = fcntl(sock
在网页时出现503 service temporarily unavailable是什么意思?这让很多网友在访问某个网站时摸不着头脑,想看的网页打不开,只能灰溜溜地关闭。而这也对很
最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在nginx.conf里做了单ip访问次数限制,(limit_req_zone
我在一个启用了 envers 的项目中创建了一个实体复制器,但是对于这个复制器我不需要审计:有没有办法暂时禁用 envers 审计? 我知道有一些监听器作为拦截器(在审计触发器之前),但我还需要知道审
我有 apache 坐在我的节点服务器前面。节点在某个端口上运行,我使用 apache 代理到该端口,并且还为 https 配置了 apache。 当我启动 apache 然后启动我的节点服务器时,一
Sequelize.js 有没有办法暂时禁用时间戳,最好是单个查询? 特别是,我正在运行一个查询 MyModel.update({ UserId: 1 }, { where: {
我尝试在本地开发系统上设置 Varnish ,但它在启动后几秒钟终止,并显示以下消息: varnishd -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:81 -F
(在 Azure 门户中报告支持问题时,似乎没有选择 Application Insights 的选项,因此发布了这篇文章) 在大约 12 小时内,当我尝试查看特定应用服务的 Application
供引用: 我在 docker desktop for mac 上运行 Kubernetes 基于Nginx镜像的网站 我在 Kubetesetes 上运行 2 个简单的网站部署并使用 NodePort
(在 Azure 门户中报告支持问题时,似乎没有选择 Application Insights 的选项,因此发布了这篇文章) 在大约 12 小时内,当我尝试查看特定应用服务的 Application
编辑: 我正在以矩阵乘法为例学习多线程,我创建了这个程序: #include #include #include #include using namespace std; int N = 5
我是一名优秀的程序员,十分优秀!