提高共享库中的named_semaphore ownerwship

时间:2019-03-14 22:06:05

标签: c++ boost

我有一个共享库,在其中创建了带有信号灯的某些功能。我正在使用boost::interprocess::named_semaphore周围包裹着薄薄的包装纸。我现在正在将该库与一个小程序动态链接。

我遇到的问题是运行我的应用程序后,信号灯没有被删除。仅在Windows上会发生此问题,而在Linux上确实会删除信号灯。现在,在我提到的包装器的析构函数中调用boost::interprocess::named_semaphore::remove,因为named_semaphore本身并不这样做。

此外,如果我直接在应用程序中调用boost::interprocess::named_semaphore::remove而不是在库代码内部,则信号灯被删除!奇怪!

有什么想法可能会出问题吗?

0 个答案:

没有答案