From e4ce347428a0d459c7561f7bb3e180f351c11a4f Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期二, 14 七月 2020 10:38:18 +0800 Subject: [PATCH] update --- queue/shm_queue_wrapper.c | 20 +++++++++++++++----- 1 files changed, 15 insertions(+), 5 deletions(-) diff --git a/queue/shm_queue_wrapper.c b/queue/shm_queue_wrapper.c index 61a049e..cb30568 100644 --- a/queue/shm_queue_wrapper.c +++ b/queue/shm_queue_wrapper.c @@ -1,6 +1,6 @@ #include "shm_queue_wrapper.h" -#include "mm.h" +#include "mem_pool.h" #include "hashtable.h" typedef struct ele_t { @@ -12,12 +12,20 @@ void *mqueue; } shmqueue_t; + +void shm_init(int size) { + mem_pool_init(size); +} + +void shm_destroy() { + mem_pool_destroy(); +} + /** * 鍒涘缓闃熷垪 * @ shmqueue * @ key 鏍囪瘑鍏变韩闃熷垪鐨勫敮涓�鏍囪瘑, key鏄竴涓寚閽堥噷闈㈠瓨鍌ㄤ簡key鐨勫�硷紝 濡傛灉key鐨勫�间负-1绯荤粺浼氳嚜鍔ㄥ垎閰嶄竴涓猭ey鍊煎苟鎶婅key鐨勫�艰祴缁檏ey鎸囬拡銆傚鏋渒ey鐨勫�间笉浼氱┖浼氭鏌ユ槸鍚︽湁閲嶅缁戝畾鐨勬儏鍐�, 鏈夐噸澶嶅氨鎶ラ敊娌℃湁灏卞垱寤洪槦鍒楀苟缁戝畾key. * @ queue_size 闃熷垪澶у皬 - * @ size 闃熷垪涓厓绱犲ぇ灏� */ void* shmqueue_create( int * key, int queue_size) { int mkey; @@ -28,7 +36,7 @@ } else { mkey = *key; if(hashtable_get(hashtable, mkey)!= NULL) { - err_msg(0, "key %d has already been in used!", mkey); + err_exit(0, "key %d has already been in used!", mkey); return NULL; } } @@ -40,12 +48,12 @@ } /** - * 缁戝畾key鍒伴槦鍒楋紝浣嗘槸骞朵笉浼氬垱寤洪槦鍒椼�傚鏋滄病鏈夊搴旀寚瀹歬ey鐨勯槦鍒楁彁绀洪敊璇苟杩斿洖绌哄�� + * 缁戝畾key鍒伴槦鍒楋紝浣嗘槸骞朵笉浼氬垱寤洪槦鍒椼�傚鏋滄病鏈夊搴旀寚瀹歬ey鐨勯槦鍒楁彁绀洪敊璇苟閫�鍑� */ void* shmqueue_attach(int key) { hashtable_t *hashtable = mm_get_hashtable(); if(hashtable_get(hashtable, key)== NULL) { - err_msg(0, "shmqueue_attach锛歛ttach failed, The queue binding on key %d has not been created!", key); + err_exit(0, "shmqueue_attach锛歛ttach queue at key %d failed!", key); return NULL; } @@ -175,3 +183,5 @@ return 0; } } + + -- Gitblit v1.8.0