在持有boost :: interprocess共享内存锁时处理核心转储

时间:2012-09-28 10:47:04

标签: c++ boost-interprocess

我正在开发应用程序,其中多个多线程进程试图获取对通过boost :: interprocess(named_mutex上的scoped_lock)管理的共享内存文件的锁定。

看来,如果其中一个进程在对共享内存文件进行锁定时转储核心,则所有其他进程最终都会等待释放此锁定。

关于如何克服这个问题的任何想法?我想确保当一个持有锁的进程死掉时,它应该确保锁被释放。

我看到的一个问题是我没有调用named_mutex对象的析构函数。这可能是这个问题的原因吗?是否保证在进程核心转储时调用析构函数?

谢谢!

0 个答案:

没有答案