ソースを参照

mem: add a multiprocess-safe shm_available()

new safe_shm_available() function secured with shm_lock()
Camille Oudot 10 年 前
コミット
51e263de80
2 ファイル変更13 行追加0 行削除
  1. 8 0
      mem/shm_mem.c
  2. 5 0
      mem/shm_mem.h

+ 8 - 0
mem/shm_mem.c

@@ -254,5 +254,13 @@ void shm_mem_destroy(void)
 #endif
 }
 
+inline unsigned long safe_shm_available()
+{
+	unsigned long ret;
+	shm_lock();
+	ret = shm_available();
+	shm_unlock();
+	return ret;
+}
 
 #endif

+ 5 - 0
mem/shm_mem.h

@@ -312,6 +312,11 @@ do{\
 
 #endif /* ! SHM_SAFE_MALLOC */
 
+/* multi-process safe version of shm_available()
+ */
+inline unsigned long safe_shm_available();
+
+
 #endif /* shm_mem_h */
 
 #endif /* SHM_MEM */