【问题标题】:GRecMutex reference count in glib >= 2.31glib 中的 GRecMutex 引用计数 >= 2.31
【发布时间】:2013-12-04 22:59:33
【问题描述】:

我正在将一个项目移植到 glib >= 2.31,并且在 GRecMutex 及其引用计数方面遇到了一些问题。我的项目有这样的代码,它是为 编写的

GStaticRecMutex mutex;

int depth = g_static_rec_mutex_unlock_full (&mutex);
... code ...
g_static_rec_mutex_lock_full (&mutex, depth);

我可以将 GStaticRecMutex 更改为 GRecMutex,但是 glib >= 2.31 只有 g_rec_mutex_unlock()、g_rec_mutex_lock() 和 g_rec_mutex_trylock() 用于 GRecMutex,并且它们都不返回引用计数(深度)。我可以使用其他任何功能来获取此信息吗?可以直接访问吗?

【问题讨论】:

标签: multithreading mutex porting glib


【解决方案1】:

只能使用 g_rec_mutex_ 函数访问 GRecMutex。

这意味着实施细节可以随时更改。

如果您非常需要该功能,请提交错误,但问题是您为什么需要它?

【讨论】:

  • 在某些情况下,您希望完全解锁递归互斥体,做一些事情,然后再次完全锁定它。我想我会提交一个错误,因为删除了功能。
猜你喜欢
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
相关资源
最近更新 更多