【发布时间】:2019-03-09 20:30:04
【问题描述】:
Linux sem_destroy() 文档说:
一个未命名的信号量应该在它所在的内存之前用
sem_destroy()销毁 位于已解除分配。不这样做可能会导致某些实现的资源泄漏。
但我能做的最好的是将sem_destroy() 注册到atexit(),在中止或SIGKILL 时不会调用它。我有一个进程负责在共享内存(映射文件)上创建和销毁信号量,如何避免异常终止条件下的资源泄漏?
在 Linux 上,如果在调用 sem_destroy() 之前删除了 mmaped 文件,是否会泄漏任何类型的资源?什么资源?
【问题讨论】:
标签: linux posix semaphore glibc