acl 3.0.8 版本發佈了

       acl(https://sourceforge.net/projects/acl/) 開源項目新版本 3.0.8 版發佈了,有關 acl 的介紹參見:acl 框架庫簡介主要是修復了一些存在的 BUG,同時伴隨一些模塊的性能提高,以及針對 master 服務器框架的功能擴展。下面是本次修改的主要內容:node

 

acl 3.0.8 (2013.6.25)json

1、lib_acl緩存

1) feature: acl_master 框架支持在一個配置文件中監聽多個地址(能夠爲 TCP服務器

套接口與域套接口混用)app

2) feature: acl_master 框架支持在 reload 時的 prefork,修改的相關文件有:框架

master_avail.c, master_service.c, master_spawn.c, master.hsocket

3) acl_master_log.c: 將日誌輸出信息當調試狀態對待函數

4) bugfix: acl_array.c->acl_array_prepend,其中調用的 acl_array_succ_insert,性能

應該調用 acl_array_pred_insert,該 BUG 會影響到全部調用 acl_dlink, acl_iplink,測試

acl_access 函數的地方,包括 acl_aio_app_main.c/acl_ioctl_app_main.c 中有關訪問

權限的地方

5) 將 acl_iplink.c 中的函數調用映射爲直接調用 acl_dlink.c 中的方法

6) samples/iplink: 該例子用於測試 acl_iplink.c 中的相關函數

7) bugfix: acl_mylog.c->reopen_log 函數中的 RETURN 宏定義中應該是

thread_mutex_unlock,原來的 thread_mutex_lock 會形成死鎖

8) bugfix: acl_json_parse.c: 有些漢字,如「誠」的後半個字節的值正好與轉義字符

相同,即爲 92,因此須要兼容此狀況,當判斷 last_ch < 0 且當前 char 爲 92

時,則認爲

漢字狀況; acl_xml_parse.c 也存在相似問題,已修復

9) acl_json.c/acl_xml.c: 當啓用結點對象緩存策略時,acl_json_node_reset 和

acl_xml_node_reset 中調用 ACL_VSTRING_RESET 後還應該調用 ACL_VSTRING_TERMINATE

10) bugfix: acl_basename.c -> acl_safe_basename 在 3 月份修改的有誤

2、lib_protocol

1) performance: http 協議庫提升了 HTTP 頭的解析速度,由原來的每秒 5 萬

屢次提高至每秒 17 萬屢次

2) bugfix: http 協議庫中 http_hdr_reset 函數判斷 hh 參數是否合法時有誤

3、lib_acl_cpp

1) feature: 添加了 server_socket 類

2) socket_stream: 對 get_ip 類的函數作了必定調整

3) samples/benchmark: 增長了 client/server 兩個用於測試 IO 壓力的程序

 4) feature: HttpServletRequest/http_client 添加調試輸出 HTTP 請求頭的函數

相關文章
相關標籤/搜索