acl/lib_acl/changes.txt

3734 lines
149 KiB
Plaintext
Raw Normal View History

2014-11-19 00:25:21 +08:00
<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>
630) 2018.8.6
630.1) optimize: <20>Ż<EFBFBD> ACL_VSTRING, ACL_VBUF, ACL_JSON_NODE <20><><EFBFBD><EFBFBD><EFBFBD>Ĵ洢<C4B4>ռ<EFBFBD><D5BC><EFBFBD>С
629) 2018.8.3
629.1) bugfix: acl_json_parse.c <20>ڷ<EFBFBD><DAB7><EFBFBD> Json <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
ֵ<EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
628) 2018.8.2
628.1) bugfix: acl_json_parse.c <20><><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
627) 2018.5.17
627.1) bugfix: acl_write_wait.c <20><>ʹ<EFBFBD><CAB9> poll <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> POLLHUP, POLLERR Ӧ
ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> write <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>Ϊ
2017-04-23 20:27:54 +08:00
------------------------------------------------------------------------
626) 2018.4.8
626.1) bugfix: acl_xml_parse.c <20><> IS_CDATA <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--- by https://gitee.com/ghostshy
625) 2018.2.24
625.1) acl_unix_listen.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ٲ<EFBFBD><D9B2><EFBFBD> fatal <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
624) 2018.2.5
624.1) bugfix: acl_read_wait.c <20>ڵ<EFBFBD><DAB5><EFBFBD> epoll ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EPOLLHUP | EPOLLERR <20><>־<EFBFBD><D6BE>
<EFBFBD>ñ<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>ֵ
624.2) bugfix: acl_inet_connect.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>ʱ<EFBFBD><CAB1>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_socket_close <20><> WIN
ƽ̨<EFBFBD>ϻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
623) 2018.2.3
623.1) bugfix: acl_read_wait.c/acl_write_wait.c <20><><EFBFBD><EFBFBD> poll API ʱ<><CAB1>
POLLHUP | POLLERR <20><>Ӧ<EFBFBD><D3A6>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2018-01-30 10:02:27 +08:00
622) 2018.1.30
622.1) event: Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> core <20>ļ<EFBFBD>̫<EFBFBD>󽫴<EFBFBD><F3BDABB4><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><E6B1A8>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> core<72><65>
<EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> exit(1) <20>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
621) 2018.1.23
621.1) bugfix: <20><><EFBFBD><EFBFBD> acl_vstream_fdopen <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD> SOCKET <20><><EFBFBD>ͣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD> SOCKET <20><><EFBFBD>ͣ<EFBFBD><CDA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
620) 2018.1.16
620.1) bugfix: <20>ع<EFBFBD> acl_ifconf.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_ifconf_search<63><68><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
620.2) optimization: acl_udp_server.c <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>Ż<EFBFBD>
619) 2018.1.15
619.1) bugfix: <20>޸<EFBFBD> acl_udp_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP <20><>ַ<EFBFBD><EFBFBD><E4BBAF><EFBFBD>Ҹ<EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD>
618) 2018.1.14
618.1) feature: <20>ṩ socket IO <20><>дע<D0B4><D7A2><EFBFBD>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>ע<EFBFBD><D7A2> IO <20><><EFBFBD>̣<EFBFBD><CCA3>Ӷ<EFBFBD>ʹ ACL_VSTREAM
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO <20>Ķ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>û<EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD> API <20><><EFBFBD><EFBFBD>
617) 2018.1.9
617.1) feature: aio ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_last_nready<64><79>event ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_event_last_nready <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
616) 2017.12.12
616.1) feature: acl_mbox.c ֧<>ֲ<EFBFBD><D6B2><EFBFBD> eventfd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO ֪ͨ
616.2) bugfix: acl_ifconf_search <20><><EFBFBD>õ<EFBFBD>ַʱ<D6B7><CAB1><EFBFBD><EFBFBD>
615) 2017.12.10
615.1) feature: acl_udp_server.c ֧<>ְ<EFBFBD><D6B0><EFBFBD> UNIX <20><><EFBFBD>׽ӿ<D7BD>
615.2) feature: net <20>е<EFBFBD> udp ģ<><C4A3>֧<EFBFBD>ְ<EFBFBD><D6B0><EFBFBD> UNIX <20><><EFBFBD>׽ӿڴ<D3BF><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
614) 2017.11.21
614.1) feature: acl_argv.c <20><><EFBFBD><EFBFBD> acl_argv_set <20><><EFBFBD><EFBFBD><EFBFBD>滻ָ<E6BBBB><D6B8><EFBFBD>±<EFBFBD>λ<EFBFBD>õ<EFBFBD>ֵ
2017-11-10 12:00:43 +08:00
613) 2017.11.10
613.1) bugfix: acl_mylog.c <20><> fork <20>ӽ<EFBFBD><D3BD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
612) 2017.11.9
612.1) feature: acl_udp_server.c ֧<><D6A7> IP <20><>ַ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
<EFBFBD>仯ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ
611) 2017.9.28
611.1) bugfix: acl_mbox.c <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BBBB>ϵͳ<CFB5><CDB3> fd <20><><EFBFBD><EFBFBD>
2017-09-21 16:00:44 +08:00
610) 2017.9.21
610.1) bugfix: acl_events.c <20><> event_init <20><><EFBFBD><EFBFBD> eventp->timer_keep Ϊ<><CEAA><EFBFBD><EFBFBD>ָ<EFBFBD>
<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ϊ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_event_keep_timer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
610.2) workaround: events ģ<><C4A3><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ж<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
610.3) workaround: events <20>еĶ<D0B5>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>ģ<EFBFBD><C4A3>
609) 2017.9.19
609.1) bugfix: acl_udp_server.c <20><><EFBFBD>յ<EFBFBD> SIGHUP <20>źź<C5BA>ͨ<EFBFBD><CDA8><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĽ<EFBFBD><EFBFBD>̺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
608) 2017.9.13
608.1) bugfix: acl_dlink.c <20><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ʱ<EFBFBD><CAB1>Ӧ<EFBFBD>ý<EFBFBD><C3BD>кϲ<D0BA>
608.2) feature: acl_dlink.c <20><><EFBFBD>ֿ<EFBFBD><D6BF>㷨֧<E3B7A8><D6A7><EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><D3B8><EFBFBD><EFBFBD><EFBFBD>
2017-09-06 13:19:49 +08:00
607) 2017.9.6
607.1) bugfix: acl_mylog.c <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õݹ<C3B5><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򣬵<EFBFBD><F2A3ACB5><EFBFBD><EFBFBD><EFBFBD>־ʱ<D6BE>յ<EFBFBD><D5B5>ź<EFBFBD><C5BA><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
606) 2017.9.5
606.1) feature: master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD><D6A7><EFBFBD>յ<EFBFBD> SIGTERM <20>źź<C5BA><C5BA>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
605) 2017.8.29
605.1) feature: acl_mbox.c <20>е<EFBFBD> acl_mbox_read <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EBBCB6><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>
605.2) bugfix: acl_aqueue.c <20>е<EFBFBD> acl_aqueue_pop_timedwait <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㳬ʱʱ<CAB1>ʽ<E4B7BD><CABD><EFBFBD><EFBFBD>
604) 2017.8.15
604.1) feature: <20><><EFBFBD><EFBFBD> acl_read_xxx_wait <20>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBCB6><EFBFBD><EFBFBD>ʱ<EFBFBD>ȴ<EFBFBD>
603) 2017.8.11
603.1) stable: acl_chroot_uid <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򲻻<EFBFBD><F2B2BBBB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD> -1 ֪ͨ<CDA8>ϲ<EFBFBD>
602) 2017.8.10
602.1) rename: acl_sane_bind <20><><EFBFBD><EFBFBD>Ϊ acl_inet_bind
602.2) feature: acl_inet_listen/acl_inet_bind/acl_vstream_listen_ex <20><> flag <20><>־λ
602.3) feature: master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_reuseport <20><>
master_nonblock<EFBFBD><EFBFBD>master_fastopen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>ʽ
601) 2017.8.7
601.1) safety & feature: <20><>ʹ<EFBFBD><CAB9> ACL_VSTRING <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> printf <20>ȷ<EFBFBD><C8B7><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>˿<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "(null)" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
600) 2017.7.31
600.1) bugfix: acl_host_port.c->host_port <20><> windows ƽ̨<C6BD>µĽ<C2B5><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
600.2) bugfix: acl_aio_server.c/acl_threads_server.c <20><> windows <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
600.3) bugfix: acl_threads_server.c <20><> thread_callback <20>ڵ<EFBFBD><DAB5>ûص<C3BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
serv_timeout ʱ<>IJ<EFBFBD><C4B2><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD>ġ<EFBFBD>
2017-07-22 21:32:21 +08:00
599) 2017.7.22
599.1) feature: acl_udp_server.c/acl_threads_server.c/acl_aio_server.c,
acl_single_server.c/acl_trigger_server.c<><63><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>
598) 2017.7.10
598.1) feature: master/template/acl_udp_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>Ϊ
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>롱ģʽ
597) 2017.7.4
597.1) feature: master/template <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD> SIGHUP <20>źź<C5BA><C5BA>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
597.2) <20>ع<EFBFBD> master/template <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
2017-07-03 17:42:55 +08:00
596) 2017.7.3
596.1) bugfix: acl_atomic_int64_fetch_add/acl_atomic_int64_add_fetch ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
595) 2017.6.26
595.1) feature: event_kernel.c <20>еĺ<D0B5><C4BA><EFBFBD> event_new_kernel <20><><EFBFBD><EFBFBD> acl_close_on_exec
<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ӽ<EFBFBD><EFBFBD>̼̳<EFBFBD> epoll/devpoll/kqueue <20><><EFBFBD><EFBFBD>
594) 2017.6.21
594.1) feature: <20><><EFBFBD><EFBFBD> acl_sane_bind.c <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>󶨲<EFBFBD><F3B6A8B2><EFBFBD><EFBFBD>γɵ<CEB3><C9B5><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
594.2) feature: <20><><EFBFBD><EFBFBD> acl_host_addrinfo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>ͨ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
594.3) feature: acl_udp_server.c ֧<><D6A7> daemon <20><> alone <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
593) 2017.6.20
593.1) feature: acl_udp_server.c ֧<>ְ<EFBFBD><D6B0><EFBFBD>ģ<EFBFBD><C4A3>ƥ<EFBFBD><C6A5><EFBFBD>ĵ<EFBFBD>ַ
592) 2017.6.11
592.1) bugfix: acl_master <20><> master_prefork > 0 ʱ<><CAB1><EFBFBD><EFBFBD>ֹͣһ<D6B9><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>򽫸<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD> reload acl_master <20><> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ѿ<EFBFBD><EFBFBD>޸<EFBFBD>
591) 2017.6.8
591.1) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱû<CAB1><C3BB>Ӧ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>û<EFBFBD>
<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2017-06-05 12:21:02 +08:00
590) 2017.6.4
590.1) feature: ACL_TOKEN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_foreach <20><>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĹؼ<C4B9><D8BC><EFBFBD>
589) 2017.6.3
589.1) feature: acl_token_tree.c <20><><EFBFBD><EFBFBD> acl_token_tree_word_remove <20><><EFBFBD><EFBFBD>
588) 2017.6.2
588.1) feature: acl_master ֧<><D6A7> UDP <20><>ʽ<EFBFBD>µ<EFBFBD> SO_REUSEPORT
587) 2017.5.25
587.1) bugfix: acl_pthread.c <20><> acl_pthread_setspecific <20><><EFBFBD><EFBFBD> bug
586) 2017.5.24
586.1) performance: acl_udp_server.c <20>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
585) 2017.5.22
585.1) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> fork <20>ӽ<EFBFBD><D3BD>̺<EFBFBD>, execvp Ӧ<>ó<EFBFBD><C3B3><EFBFBD>ǰ
<EFBFBD>л<EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> go <20><><EFBFBD>Ա<EFBFBD>д<EFBFBD><D0B4>Ӧ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
Linux ƽ̨<C6BD>£<EFBFBD>ʹ<EFBFBD><CAB9> go <20><><EFBFBD>Ա<EFBFBD>д<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ root <20><><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>Ϊ go
Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>߳<EFBFBD><EFBFBD>Լ<EFBFBD> setuid <20><> Linux ƽ̨<C6BD>½<EFBFBD><C2BD>л<EFBFBD><D0BB><EFBFBD>ǰ<EFBFBD>̵߳<DFB3><CCB5><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬go <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD> Linux ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :)
584) 2017.5.3
584.1) bugfix: acl_mylog.c/private_stream.c <20>е<EFBFBD><D0B5>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ڷǷ<DAB7><C7B7>ͷ<EFBFBD>
2017-04-23 20:27:54 +08:00
583) 2017.4.23
583.1) feature: add inet_ntop/inet_pton for vc2003
2017-04-07 20:13:08 +08:00
------------------------------------------------------------------------
582) 2017.4.17
582.1) bugfix: acl_pthread_cond.c <20><><EFBFBD><EFBFBD> windows ƽ̨<C6BD>µ<EFBFBD><C2B5>ͷ<EFBFBD><CDB7>߳<EFBFBD><DFB3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ڴ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD>ͷŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_mutex_create <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_mutex_create <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2017-04-13 21:50:55 +08:00
581) 2017.4.13
581.1) bugfix: rfc1035.c <20>еĺ<D0B5><C4BA><EFBFBD> rfc1035MessageUnpack <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
2017-04-11 23:14:39 +08:00
580) 2017.4.11
580.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> IPV6
2017-04-07 20:13:08 +08:00
579) 2017.4.7
579.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD><D6A7> IPV6
578) 2017.4.5
578.1) bugfix: acl_atomic.c/acl_mbox.c/acl_pthread_mutext.c <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD>
577) 2017.3.30
577.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD> json <20>ַ<EFBFBD><D6B7><EFBFBD>ʱĬ<CAB1>ϲ<EFBFBD><CFB2>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ӿո񣬵<D5B8><F1A3ACB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿո<EFBFBD><EFBFBD>Ӷ<EFBFBD>ʹ json <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>
576) 2017.3.11
576.1) bugfix: acl_scan_dir.c <20>к<EFBFBD><D0BA><EFBFBD> acl_scan_dir_push <20><> windows <20>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD>
2017-02-12 21:39:38 +08:00
575) 2017.1.31
575.1) compile: <20><> Linux/Android ƽ̨<C6BD>±<EFBFBD><C2B1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>Զ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>ͣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Makefile <20>ļ<EFBFBD><C4BC><EFBFBD>ר<EFBFBD><D7A8>ָ<EFBFBD><D6B8>
574) 2017.1.28--1.29
574.1) bugfix: acl_dbuf_pool.c ֧<><D6A7> ARM LINUX<55><58><EFBFBD>ڲ<EFBFBD><DAB2>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD>ڴ<EFBFBD>Ƭʱ<C6AC><CAB1>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD> 4
<EFBFBD>ֽڶ<EFBFBD><EFBFBD><EFBFBD>
573) 2016.12.29
573.1) bugfix: acl_slice.c <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD> SLICE1 <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>һ<EFBFBD><D2BB> BUG
572) 2016.12.28
572.1) feature: acl_mem_slice.c <20>еĺ<D0B5><C4BA><EFBFBD> tls_mem_realloc <20><><EFBFBD><EFBFBD>Դָ<D4B4><D6B8>Ϊ NULL
571) 2016.12.1
571.1) feature: acl_aio_server.c/acl_threads_server.c/acl_single_server.c <20><><EFBFBD><EFBFBD>
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> __service_on_listen<65><6E><EFBFBD>Ա<EFBFBD><D4B1>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󴫵ݸ<F3B4ABB5>Ӧ<EFBFBD><D3A6>
570) 2016.11.30
570.1) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ģ<EFBFBD><C4A3>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3>Ա<EFBFBD><D4B1>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
569) 2016.11.27
569.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD> acl_default_meminfo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>
568) 2016.11.18
568.1) bugfix: acl_vstream.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_vstream_fdopen <20><><EFBFBD><EFBFBD> IO <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ģʽ<EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
568.2) workaround: <20><> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD> use_limit <20><> idle_limit
<EFBFBD><EFBFBD>ȱʡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2>˳<EFBFBD><CBB3><EFBFBD>
567) 2016.10.28
567.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> centos4.7 <20><>ʹ<EFBFBD><CAB9> gcc 3.x.x <20><><EFBFBD><EFBFBD>
566) 2016.10.25
566.1) compile: ʹ<><CAB9> gcc <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
566.2) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD> url coder <20><><EFBFBD><EFBFBD> '+' <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
565) 2016.10.21
565.1) feature: ACL_VSTREAM <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ omode<64><65><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> UNIX ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
565.2) bugfix: acl_json.h ͷ<>ļ<EFBFBD><C4BC>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD> ACL_JSON_T_XXX <20><><EFBFBD>ظ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD>
564) 2016.10.11
564.1) bugfix: acl_json_util.c <20><> acl_json_build/acl_json_building <20><><EFBFBD><EFBFBD> json
<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
563) 2016.10.10
563.1) feature: acl_json_util.c <20><><EFBFBD><EFBFBD> acl_json_create_null <20><>
acl_json_create_array_null <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD> null <20><><EFBFBD>͵Ľڵ<C4BD>
562) 2016.9.7
562.1) bugfix: acl_vstream.c <20><> acl_vstream_gets/acl_vstream_gets_nonl
/acl_vstream_readtags/acl_vstream_gets_peek/acl_vstream_gets_nonl_peek
Ӧ<EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM_FLAG_TAGYES <20><>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6>ζ<EFBFBD><CEB6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM_FLAG_TAGYES <20><>־λ<D6BE><CEBB><EFBFBD>п<EFBFBD><D0BF>ܻᱻ<DCBB><E1B1BB><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>и<EFBFBD><D0B8><EFBFBD>
561) 2016.9.1
561.1) bugfix: acl_urlcode.c <20>еĽ<D0B5><C4BD><EFBFBD><EFBFBD>ֵ<EFBFBD> dec_tab <20><><EFBFBD><EFBFBD>
------------------------------------------------------------------------
2016-08-23 13:20:33 +08:00
560) 2016.8.23
560.1) bugfix: acl_json_parse.c <20>У<EFBFBD><D0A3>ڽ<EFBFBD><DABD><EFBFBD> JSON <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ҷ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>־
2016-08-23 13:20:33 +08:00
559) 2016.8.15
559.1) bugfix: events.c <20>еĺ<D0B5><C4BA><EFBFBD> event_thr_prepare/event_prepare <20>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACL_VSTREAM_BFRD_CNT <20><> read_ready <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ACL_VSTREAM_BFRD_CNT
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> read_ready ǰ<><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> read_ready <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>Ҫ
<EFBFBD><EFBFBD> read_ready <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>
559.2) performance: events_epoll_thr.c <20><> event_enable_read <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ EVENT_FDTABLE_FLAG_FIRE <20><><EFBFBD><EFBFBD><EFB5BD><EFBFBD><EFBFBD> epoll_ctl <20>ĵ<EFBFBD><C4B5>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
558) 2016.8.13
558.1) bugfix: acl_vstream.c <20>е<EFBFBD> acl_vstream_writevn <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
557) 2016.8.11
557.1) bugfix: events_epoll_thr.c <20>е<EFBFBD> event_enable_read <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
THREAD_UNLOCK <20><>Ҫ epoll_ctl <20><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺߳<DFB3><CCBA><EFBFBD><EFBFBD>߳<EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD>
557.2) compile: <20><>Ҫ<EFBFBD><D2AA> acl_ypipe/acl_yqueue <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vc2015 <20>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>
556) 2016.7.29
556.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> double <20><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
555) 2016.7.20
555.1) compile: __sync_val_compare_and_swap <20><> Linux 32 λϵͳ<CFB5>±<EFBFBD><C2B1><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ
<EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD> -march=i686
2016-07-15 21:04:01 +08:00
554) 2016.7.14
554.1) bugfix: events_kernel.c <20>е<EFBFBD> stream_on_close <20><> fdp == NULL ʱֱ<CAB1>ӷ<EFBFBD><D3B7><EFBFBD>
2016-07-10 19:12:54 +08:00
553) 2016.7.10
553.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gcc6.1 <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBEAF>
552) 2016.6.26
552.1) feature: <20><><EFBFBD><EFBFBD> acl_mbox.c <20><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ͨ<EFBFBD>ţ<EFBFBD><C5A3>ڲ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>ʽ
Ч<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD> -- by niukey@qq.com
551) 2016.6.21
551.1) safety: acl_vstream.c->acl_vstream_fdopen <20>е<EFBFBD> rw_timeout > 0 ʱ<><CAB1>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> acl_getsocktype <20>ж<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>ģʽ
550) 2016.5.21
550.1) bugfix: acl_sys_file.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_file_open <20><><EFBFBD><EFBFBD> O_APPEND <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD>ļ<EFBFBD>ָ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>β<EFBFBD><EFBFBD>
549) 2016.5.12
549.1) feature: <20><><EFBFBD><EFBFBD>ԭ<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD> acl_atomic.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_yqueue.c, acl_ypipe.c
--- by niukey@qq.com
2016-05-10 21:58:47 +08:00
548) 2016.5.9
548.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket IO <20><> hook <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_sys_socket.c <20><><EFBFBD><EFBFBD> acl_vstream.c <20><>
547) 2016.5.8
547.1) feature: acl_sys_socket.c <20>е<EFBFBD> SOCKET IO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HOOK<4F><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_vstream.c <20>е<EFBFBD> acl_vstream_fdopen <20>ڴ<EFBFBD><DAB4><EFBFBD> SOCKET <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʹ<EFBFBD>ñ<EFBFBD> HOOK <20>ĺ<EFBFBD><C4BA><EFBFBD>
546) 2016.5.5
546.1) safety: acl_xml_parse.c/acl_xml2_parse.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ NULL ʱ<><CAB1><EFBFBD><EFBFBD> ""
546.2) feature: <20><> acl_vstream.c <20><> acl_vstream_fdopen ʱ<><CAB1><EFBFBD>Դ<EFBFBD><D4B4>ж<EFBFBD>д<EFBFBD><D0B4>ʱ
<EFBFBD><EFBFBD> socket <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
546.3) feature: acl_read_wait.c <20>еĶ<D0B5><C4B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> epoll <20><><EFBFBD>жϣ<D0B6>Ϊ<EFBFBD><CEAA>ֹ epoll
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رգ<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><EFBFBD><EFBFBD> epoll <20><><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
545) 2016.5.4
545.1) bugfix: acl_sys_socket.c <20>к<EFBFBD><D0BA><EFBFBD> acl_socket_write <20>޸<EFBFBD><DEB8><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
544) 2016.4.20
544.1) feature: acl_threads_server.c <20><> alone ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ͷ<EFBFBD>ȫ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ʹ<EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
2016-04-16 17:58:56 +08:00
543) 2016.4.16
543.1) bugfix: acl_xml_util.c->acl_xml_node_set_text_stream->acl_vstream_fseek
<EFBFBD><EFBFBD> acl_xml2_util.c->acl_xml2_node_set_text_stream->acl_vstream_fseek <20>еĵڶ<C4B5><DAB6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>
543.2) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC2012 ʹ<><CAB9> x64 <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EBBEAF>
2016-04-14 22:39:11 +08:00
542) 2016.4.14
542.1) feature: acl_argv_split.c <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD> acl_argv_quote_split <20><><EFBFBD><EFBFBD>
<EFBFBD>ڶ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>зָ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ַ<EFBFBD><D6B7><EFBFBD>
2016-04-01 09:36:18 +08:00
541) 2016.3.29
541.1) bugfix: acl_vstream.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdin, stdout, stderr <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B4A6>
540) 2016.3.22
540.1) bugfix: acl_vstring.c <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fd <20><><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> ACL_VSTRING
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>иö<EFBFBD><EFBFBD>󴴽<EFBFBD><EFBFBD><EFBFBD> mmap <20>ϣ<EFBFBD><CFA3>Ӷ<EFBFBD><D3B6><EFBFBD><E1B5BC><EFBFBD>ڴ<EFBFBD>й¶
2016-03-19 22:05:46 +08:00
539) 2016.3.18
539.1) bugfix: acl_threads_server.c <20>еĺ<D0B5><C4BA><EFBFBD> dispatch_receive <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_read_fd ֱ<>Ӵ<EFBFBD><D3B4>׽<EFBFBD><D7BD><EFBFBD><EFBFBD>ж<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ݵģ<DDB5><C4A3><EFBFBD>ʱӦ<CAB1>ý<EFBFBD> conn->read_ready <20><>־λ<D6BE><CEBB>0<EFBFBD><30>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
538) 2016.3.8
538.1) bugfix: acl_vstream_net.c <20>еĺ<D0B5><C4BA><EFBFBD> udp_read Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> read_ready = 0<><30>
<EFBFBD><EFBFBD><EFBFBD>򵱸<EFBFBD> UDP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event <20>¼<EFBFBD>ѭ<EFBFBD><D1AD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
537) 2016.3.3
537.1) compile: acl_env.c <20><>ȥ<EFBFBD><C8A5><EFBFBD>˱<EFBFBD><CBB1><EFBFBD> _environ
537.2) compile: acl_server_api.h <20>еĺ<D0B5><C4BA><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> ACL_API <20>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>̬<EFBFBD><CCAC>
2016-03-01 20:20:52 +08:00
536) 2016.3.1
536.1) bugfix: acl_threads_server.c <20><> daemon ģʽ<C4A3>µ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>˿<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><E1B4AB> -s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6> socket_count ֵ<><D6B5>ʼ<EFBFBD><CABC>Ϊ 1
535) 2016.2.28
535.1) bugfix: acl_vstream.c <20><>ǿ<EFBFBD><C7BF> fp->read_cnt < 0 ʱ<>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
535.2) feature: acl_threads_server.c ֧<><D6A7> WINDOWS ƽ̨<C6BD><CCA8>ͬʱ֧<CAB1><D6A7> daemon ģʽ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
534) 2016.2.26
534.1) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>ӿ<EFBFBD>
533) 2016.2.22
533.1) feature: acl_inet_listen.c <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<CAB1><D6A7>ʹ<EFBFBD><CAB9> SO_REUSEPORT,
TCP_FASTOPEN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ծ<EFBFBD><D4BE><EFBFBD>Ҫ<EFBFBD>ں<EFBFBD>֧<EFBFBD>֣<EFBFBD>ͬʱ TCP_FASTOPEN
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD> lib_acl.a ʱ<><CAB1><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USE_FASTOPEN<45><4E>
532) 2016.2.18
532.1) feature: acl_xml/acl_xml2 <20><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> xml <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ı<EFBFBD>
531) 2016.2.16
531.1) performance: <20>Ż<EFBFBD> acl_vstream.c <20><> acl_vstream_read <20><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>:
ͬʱ<EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ȡ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
530) 2016.2.13
530.1) compile: ʹ<><CAB9>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>Ż<EFBFBD> gcc <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
529) 2016.2.5
529.1) feature: acl_vstring.c <20><><EFBFBD>ڴ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ͬʱ֧<CAB1><D6A7> UNIX/WINDOWS
528) 2016.2.1
528.1) feature: acl_vstring.c, <20>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
527) 2016.1.30
527.1) feature: acl_vstring.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstring_mmap_alloc<6F><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD>ļ<EFBFBD>ӳ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
527.2) feature&safety: acl_vstring.c <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿռ<D5BC><E4B9A6>
527.3) samples/mmap_string: <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ļ<EFBFBD>ӳ<EFBFBD>ʽʹ<CABD><CAB9> acl_vstring
<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>
526) 2016.1.17
526.1) feature: acl_default_malloc.c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_default_realloc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַΪ
NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD> acl_default_malloc <20><><EFBFBD><EFBFBD>
526.2) feature: acl_vstream.c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_fdopen <20><><EFBFBD>Զ<EFBFBD><D4B6>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>
Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD> fdtype <20>ķǷ<C4B7><C7B7><EFBFBD>
526.3) feature: events_select.c/events_poll.c/events_kernel.c<><63><EFBFBD>ڲ<EFBFBD><DAB2>Զ<EFBFBD><D4B6>ж<EFBFBD><D0B6>Ƿ<EFBFBD>
Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>
525) 2016.1.16
525.1) bugfix: acl_multi_server.c/acl_single_server.c/acl_trigger_server.c<><63><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿڵĶ<EFBFBD><EFBFBD>¼<EFBFBD>ʱ<EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD> acl_event_enable_listen<65><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD>
acl_event_enable_read
525.2) feature: <20><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD> acl_check_socket <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
524) 2016.1.8
524.1) bugfix: acl_xml_parse.c/acl_xml2_parse.c/acl_xml_util.c/acl_xml2_util.c,
<EFBFBD>޸<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>Ϊ META, COMMENT, CDATA ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB4B4> xml <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> BUG
2015-04-04 15:25:29 +08:00
------------------------------------------------------------------------
523) 2015.12.28
523.1) acl_read_wait.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_read_wait <20><> 32 λ<>ĵͰ汾 LINUX ƽ̨<C6BD><CCA8>
ʹ<EFBFBD><EFBFBD> epoll <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD> poll <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
522) 2015.12.24
522.1) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD> valgrind <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_parse.c <20>к<EFBFBD><D0BA><EFBFBD> cdata_prepare
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
521) 2015.12.23
521.1) bugfix: acl_xml_parse.c/acl_xml2_parse.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>յ<EFBFBD> CDATA ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-12-21 13:25:30 +08:00
520) 2015.12.21
520.1) bugfix: master_sig.c <20><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʱӦ<CAB1><D3A6>ʹ<EFBFBD><CAB9> acl_vstream_read<61><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ API read<61><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD>ѭ<EFBFBD><D1AD>
520.2) bugfix: event <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֺ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>׽<EFBFBD><D7BD>֣<EFBFBD><D6A3>еĵط<C4B5>δ<EFBFBD><CEB4>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD> listener <20><> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
2015-12-21 23:53:55 +08:00
520.3) bugfix: acl_read_wait <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> epoll <20>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
2015-12-21 13:25:30 +08:00
2015-12-20 15:27:55 +08:00
519) 2015.12.20
519.1) feature: acl_aio.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>״̬<D7B4><CCAC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
519.2) performance: events.c, events_kernel.c, events_iocp.c, <20><>ÿһ<C3BF><D2BB><EFBFBD>¼<EFBFBD>
ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD> IO <20><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>Ч<EFBFBD><D0A7>
518) 2015.12.19
518.1) bugfix: acl_sys_socket.c <20>ĺ<EFBFBD><C4BA><EFBFBD> acl_socket_read <20><>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fp
<EFBFBD><EFBFBD>ϵͳ<EFBFBD>ɶ<EFBFBD><EFBFBD><EFBFBD>־λ(sys_read_ready <20><> 0)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
518.2) bugfix: acl_aio_write.c <20>ĺ<EFBFBD><C4BA><EFBFBD> acl_aio_writen <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱδ<CAB1><CEB4>Ƕ<EFBFBD><C7B6>
<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-12-18 16:36:24 +08:00
517) 2015.12.18
517.1) bugfix: events.c <20>к<EFBFBD><D0BA><EFBFBD> event_prepare <20><><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ú<EFBFBD><C3BA>Ե<EFBFBD><D4B5><EFBFBD>־λ
sys_read_ready<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO <20>׽<EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD>Ч
517.2) bugfix: <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>治Ӧ<E6B2BB><D3A6><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sys_read_ready <20><>־λ
517.3) bugfix: master_status.c <20><><EFBFBD><EFBFBD> master_status_event <20><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʱӦ<CAB1><D3A6>ʹ<EFBFBD><CAB9>
acl_vstream_read<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧʹ<EFBFBD><EFBFBD>ϵͳ API read<61><64><EFBFBD><EFBFBD>Ϊ acl_vstream_read <20>ڲ<EFBFBD><DAB2>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>
sys_read_ready <20><>־λ
2015-12-12 23:00:03 +08:00
516) 2015.12.9
516.1) feature: acl_xml_parse.c / acl_xml2_parse.c can parse CDATA
515) 2015.12.8
515.1) bugfix: acl_vstream.c <20>е<EFBFBD> read/write <20>ӿڱ<D3BF>ע<EFBFBD><D7A2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊû<CEAA>ж<EFBFBD>Ӧ<EFBFBD><D3A6>
writev ע<>ʽ<EBB7BD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ε<EFBFBD><CEB5><EFBFBD> write <20><>ģ<EFBFBD><C4A3> writev <20><><EFBFBD><EFBFBD>
515.2) bugfix: events.c <20>еĺ<D0B5><C4BA><EFBFBD> event_prepare <20><><EFBFBD><EFBFBD> sys_read_ready = 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD> event_type Ϊ ACL_EVENT_ACCEPT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>
514) 2015.12.7
514.1) performance: acl_xml_util.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_xml_create_node <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ڵ<EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱȽϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>
<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
514.2) bugfix: acl_xml.c/acl_xml2.c/acl_xml3.c <20><>ɾ<EFBFBD><C9BE><EFBFBD>ڵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
513) 2015.12.4
513.1) bugfix: fdp->stream->sys_read_ready should be check in event_prepare
2015-12-06 16:56:21 +08:00
513.2) performance: acl_xmlcode.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_xml_encode/acl_xml_decode ͨ<><CDA8>
<EFBFBD><EFBFBD>ǰԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>ͷ<EFBFBD><CDB7>ڴ<EFBFBD><DAB4>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
513.3) bugfix: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM::sys_read_ready <20><>־λ<D6BE>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD> acl_vstream.c
<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD> sys_read <20><><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD> acl_sys_socket.c <20>ĺ<EFBFBD><C4BA><EFBFBD> acl_socket_read <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־λ
function of events.c for reading event.
512) 2015.12.3
512.1) bugfix: acl_vstream.c <20>еĺ<D0B5><C4BA><EFBFBD> sys_read <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> fread_fn/read_fn
ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO <20><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øñ<C3B8>־λʱ<CEBB><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
511) 2015.12.2
511.1) feature: acl_xml2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> acl_xml2_mmap_alloc<6F><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ļ<EFBFBD>
ӳ<EFBFBD>ʽ<EFBFBD><EFBFBD> xml <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
511.2) feature: acl_xml2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ļ<EFBFBD><C4BC>ռ<EFBFBD><D5BC><EFBFBD>С<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ʽ
510) 2015.11.29
510.1) feature: <20><><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml3<6C><33><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RapidXML(<28>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD>
510.2) feature: acl_xml2 <20><><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD> xml <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
509) 2015.11.27
509.1) feature: acl_dbuf_pool.c <20>ڵ<EFBFBD><DAB5><EFBFBD> acl_dbuf_pool_free ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ͷŵ<CDB7>
<EFBFBD><EFBFBD><EFBFBD>ڴ棬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstring.c <20><><EFBFBD>ڽ<EFBFBD><DABD>д<EFBFBD><D0B4>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵ<CDB7>
508) 2015.11.26
508.1) feature: acl_xml_parse.c ֧<>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>򵥸<EFBFBD> xml <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> xml <20>ĵ<EFBFBD>
507) 2015.11.24
507.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еIJ<D0B5><C4B2><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
506) 2015.11.20
506.1) bugfix: acl_dbuf_pool.c <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> acl_dbuf_pool_reset ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD><EFBFBD>ʱӦ<EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>
505) 2015.11.19
505.1) feature & performance: acl_array.c, acl_xml.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_DBUF_POOL<4F><4C>
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
504) 2015.11.18
504.1) bugfix: acl_xml_util.c <20><> acl_xml_build <20><><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ת<EFBFBD><D7AA>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
504.2) feature: acl_xml_parse.c <20>ڽ<EFBFBD><DABD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml <20><><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
503) 2015.11.11
503.1) bugfix: acl_json_parse.c <20><><EFBFBD><EFBFBD> -xxx <20><> +xxx ҲӦʶ<D3A6><CAB6>Ϊ<EFBFBD><CEAA>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
2015-11-09 22:11:21 +08:00
502) 2015.11.6
502.1) feature: acl_htable.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_htable_delete_entry
501) 2015.11.3
501.1) feature: acl_urlcode.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_DBUF_POOL <20>ڴ<EFBFBD><DAB4><EFBFBD>
500) 2015.10.30
500.1) feature: acl_dbuf_pool.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_dbuf_pool_free, acl_dbuf_pool_keep,
acl_dbuf_pool_unkeep <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC>Ż<EFBFBD> acl_dbuf_pool_reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>ڴ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ʶΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
499) 2015.10.29
499.1) feature: acl_dbuf_pool.c <20>е<EFBFBD> acl_dbuf_pool_reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ
֧<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-10-20 21:07:23 +08:00
498) 2015.10.7
498.1) bugfix: acl_atoui64/acl_atoi64 <20><> WINDOWS ƽ̨ʹ<CCA8><CAB9> VC2012 <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> VC <20><EFBFBD><E1B9A9> API _atoi64 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 64 λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>18446744073709551615<31><35>
ʱ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>ضϣ<EFBFBD><EFBFBD><EFBFBD> VC2003 ȴû<C8B4>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>
498.2) <20><><EFBFBD><EFBFBD> acl_mystring.c <20>еĴ<D0B5><C4B4><EFBFBD>
498.3) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> acl_json_getFirstElementByTagName<6D><65><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ƥ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʱ<EFBFBD> acl_json_getElementsByTagName <20><><EFBFBD><EFBFBD>
498.4) feature: xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> acl_xml_getFirstElementByTagName<6D><65><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ƥ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʱ<EFBFBD> acl_xml_getElementsByTagName <20><><EFBFBD><EFBFBD>
497) 2015.9.23
497.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>ͬʱ<CDAC><CAB1>ȫ֧<C8AB>֣<EFBFBD>bool, number, null <20><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
496) 2015.9.22
496.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĹ<CFB5><C4B9><EFBFBD>
------------------------------------------------------------------------
495) 2015.8.13
495.1) feature: acl_msg.c <20>ļ<EFBFBD><C4BC>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>־<EFBFBD><D6BE>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD>ͬʱ<CDAC>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ
494) 2015.7.7
494.1) bugfix: acl_urlcode.c <20>к<EFBFBD><D0BA><EFBFBD> acl_url_decode <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʱ<EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
494.2) samples/dgate: <20><>֮ǰд<C7B0><D0B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> DNS <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD>
493) 2015.6.28
493.1) compile: ֧<><D6A7><EFBFBD><EFBFBD> VC x64 <20><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>ʹ<EFBFBD><CAB9>
493.2) workaroud: Ϊ<>˷<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD> acl_define_win32.h <20>н<EFBFBD> FD_SETSIZE <20><><EFBFBD>õĹ<C3B5><C4B9><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>64λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ĭ<EFBFBD>϶<EFBFBD>ջΪ1MB<4D><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FD_SETSIZE <20><>Ϊ 40000
492) 2015.6.24
492.1) bugfix: acl_vstring.c <20><> acl_vstring_init <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ֹʹ<D6B9><CAB9><EFBFBD>ڴ<EFBFBD><DAB4>ط<EFBFBD>ʽ
491) 2015.6.21
491.1) feature: acl_dbuf_pool.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_dbuf_pool_reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ڴ<EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><EFBFBD>
491.2) performance: acl_json.c <20><> acl_json_rest <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD> acl_dbuf_pool_reset
<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD>ûỰ<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>
2015-06-19 16:08:17 +08:00
490) 2015.6.19
490.1) performance: acl_json.c/acl_vstring.c ֧<><D6A7>ʹ<EFBFBD><CAB9> ACL_DBUF_POOL <20>ڴ<EFBFBD><DAB4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-06-14 02:47:59 +08:00
489) 2015.6.12
489.1) bugfix: acl_vstream.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_vstream_loadfile2 <20>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
489.2) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
488) 2015.5.25
488.1) performance: acl_dbuf_pool.c <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD>
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
488.2) performance: acl_vstream.c <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>acl_vstream_read <20>ṩԤ<E1B9A9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
488.3) performance: acl_read_wait.c <20>к<EFBFBD><D0BA><EFBFBD> acl_read_wait <20><> linux <20>²<EFBFBD><C2B2><EFBFBD>
epoll<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-04-04 15:25:29 +08:00
487) 2015.4.4
487.1) compile: acl_define_win32.h <20>е<EFBFBD> socklen_t <20>Ķ<EFBFBD><C4B6><EFBFBD>ԭ<EFBFBD><D4AD>ʹ<EFBFBD>ú궨<C3BA><EAB6A8> #define
<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD> VC <20><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EBB1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ϊ typedef <20><><EFBFBD>ʽ
------------------------------------------------------------------------
2015-03-11 09:09:28 +08:00
486) 2015.3.11
486.1) bugfix: <20>޸<EFBFBD> acl_read_wait.c/acl_write_wait.c<><63> <20><> WIN32 ƽ̨<C6BD>µ<EFBFBD><C2B5><EFBFBD>
select ʱ<><CAB1><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> fd <20><> FD_SETSIZE <20>Ĺ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>Ϊ WIN32 <20>µ<EFBFBD> fd_set <20><EFBFBD><E1B9B9><EFBFBD>
FD_XXX <20><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> UNIX <20><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 <20>µ<EFBFBD> fd <20>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>п<EFBFBD><D0BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD>ַdz<D6B7><C7B3><EFBFBD>
<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD> fd < FD_SETSIZE <20>п<EFBFBD><D0BF>ܻᵼ<DCBB>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵҲ<CAB5><D2B2>ȫû<C8AB>б<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
2015-03-08 21:34:00 +08:00
485) 2015.3.5
485.1) bugfix: acl_threads_server.c/acl_aio_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ֪ͨ
acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>ͬʱ<CDAC><CAB1>Ҫ<EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ǰ<EFBFBD><C7B0> TCP <20>ɷ<EFBFBD><C9B7><EFBFBD>(master_dispatch)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
484) 2015.2.26
484.1) feature: acl_msg.c <20><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD> acl_msg_trace_enable <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
<EFBFBD>򾯸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>־ʱ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD>ö<EFBFBD>ջ
483) 2015.2.25
483.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CRC17 <20>Ĺ<EFBFBD>ϣ<EFBFBD>㷨 acl_hash_crc16
2015-02-14 01:04:37 +08:00
482) 2015.2.14
482.1) bugfix: acl_trace.c/acl_trace_info <20>еı<D0B5><C4B1><EFBFBD> results <20>ڵ<EFBFBD><DAB5><EFBFBD>ϵͳ<CFB5><CDB3>
backtrace_symbols() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ͷţ<CDB7><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©
481) 2015.2.10
481.1) bugfix: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_prefork <20><><EFBFBD><EFBFBD><EFBFBD>ܻᵼ<DCBB><E1B5BC>
master_maxproc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> master_avail.c <20>е<EFBFBD> master_prefork <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD> master_avail_event <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_prefork <20><><EFBFBD><EFBFBD> 0 ʱ
<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ fork <20>ӽ<EFBFBD><D3BD>̣<EFBFBD><CCA3><EFBFBD> BUG <20><>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD> <20>ȣ<EFBFBD>û<EFBFBD><C3BB>Ӱ<EFBFBD><D3B0>
481.2) bugfix: acl_single_server.c <20><><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>Ŀ<EFBFBD><C4BF>г<EFBFBD>ʱ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
2015-02-02 16:50:06 +08:00
480) 2015.2.2
480.1) feature: acl_vstring.c/vstring_extend <20><><EFBFBD>ڴ<EFBFBD><DAB4>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ淭<DAB4><E6B7AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD>ڴ<EFBFBD><EFBFBD>Ƚϴ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺܴ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>˷ѣ<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis-server <20>еIJ<D0B5><C4B2>ԣ<EFBFBD><D4A3><EFBFBD>һ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD>1MB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1MB Ϊ<><CEAA>λ<EFBFBD><CEBB><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
479) 2015.1.27
479.1) bugfix: acl_dbuf_pool.c <20>ĺ<EFBFBD><C4BA><EFBFBD> acl_dbuf_pool_alloc() <20>ڱȽ<DAB1>ʣ<EFBFBD><EFBFBD><E0B3A4>
<EFBFBD><EFBFBD> pool->block_size <20>ij<EFBFBD><C4B3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD> pool->block_size <20><><EFBFBD>ȼ<EFBFBD>ȥһ<C8A5><D2BB><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(block_size Ϊ size_t <20><><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD>
ע<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽΪ<EFBFBD><EFBFBD>
pool->block_size - ((char*) pool->head->ptr - (char*) pool->head->buf) < length
<EFBFBD><EFBFBD>ȷ<EFBFBD>ķ<EFBFBD>ʽΪ<EFBFBD><EFBFBD>
pool->block_size < ((char*) pool->head->ptr - (char*) pool->head->buf) + length
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD>Ϊ<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>һ<EFBFBD>ֱ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱȽϷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-01-14 23:35:23 +08:00
478) 2015.1.7
478.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_is_blocking() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>׽<EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ģʽ
477) 2015.1.1
477.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>ʹ<EFBFBD><CAB9> clang/clang++ <20><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
476) 2014.12.28
476.1) feature: win32 iocp ģʽ<C4A3>¿<EFBFBD><C2BF><EFBFBD>֧<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_events.c <20>еĺ<D0B5><C4BA><EFBFBD>
<EFBFBD><EFBFBD>acl_event_new_kernel<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ϊ 50000<30><30>ʹ<EFBFBD><CAB9><EFBFBD>߿<EFBFBD><DFBF>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>Ҫ<EFBFBD>޸ijɸ<C4B3><C9B8><EFBFBD><EFBFBD><EFBFBD>ֵ
476.2) bugfix: win32 iocp ģ<><C4A3>(events_iocp.c)<29>ĺ<EFBFBD><C4BA><EFBFBD> stream_on_close <20>У<EFBFBD>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> fdp->event_read <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
2014-11-19 00:25:21 +08:00
------------------------------------------------------------------------
475) 2014.12.13
475) bugfix: acl_json_util.c <20>н<EFBFBD> JSON <20><><EFBFBD><EFBFBD>תΪ<D7AA>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD> acl_json_build
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>ijЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
476) featrue: acl_json_util.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD> JSON <20><><EFBFBD><EFBFBD>תΪ<D7AA>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
acl_json_building<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> JSON <20><><EFBFBD><EFBFBD><EFBFBD>Ƚϴ<C8BD>ʱʹ<CAB1>øú<C3B8><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ֹҪ<D6B9><D2AA>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
<EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ʧ<EFBFBD><EFBFBD>
474) 2014.12.8
474.1) feature: acl_trace.c <20>еĺ<D0B5><C4BA><EFBFBD> acl_trace_info <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD>ֹ<EFBFBD>ݹ<EFBFBD>Ƕ<EFBFBD>׵Ĺ<D7B5><C4B9><EFBFBD>
2014-12-07 23:48:11 +08:00
473) 2014.12.6
473.1) feature: acl_msg.c <20>е<EFBFBD> acl_msg_error/warn/fatal/panic ֧<>ּ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ջ
472) 2014.12.5
472.1) feature: acl_vstream.c <20><>ѭ<EFBFBD><D1AD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>(loop_writen)֧<>ֳ<EFBFBD>ʱд<CAB1><D0B4><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
д<EFBFBD><EFBFBD>ʱ<EFBFBD>󣬻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>С<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ʱ<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD>
д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 64KB Ϊ<><CEAA>λд<CEBB><D0B4><EFBFBD><EFBFBD>
472.2) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
472.3) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20><><EFBFBD>ӷַ<D3B7><D6B7><EFBFBD>ʽʱ<CABD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻㱨<CBBB><E3B1A8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ֶΣ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ڷַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD>ֶξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
471) 2014.12.4
471.1) performance: acl_vstream.c <20>Ż<EFBFBD><C5BB>˶<EFBFBD> (__sys_read) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
471.2) bugfix: acl_vstream.c <20><>дʱ<D0B4>п<EFBFBD><D0BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
470) 2014.12.2
470.1) bugfix: acl_vstream.c <20>к<EFBFBD><D0BA><EFBFBD> __sys_read <20>ı<EFBFBD>־λ sys_read_ready <20><> 0
Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> read_fn/fread_fn <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD>
469) 2014.11.30
469.1) bugfix: acl_aio_read.c <20>е<EFBFBD> reactor IO <20><>ʽ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD> acl_aio_enable_read
<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD>ܲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
468) 2014.11.29
468.1) bugfix: acl_sys_socket.c <20>еĶ<D0B5><><D0B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> timeout <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>޸<EFBFBD>
468.2) workaround: acl_vstream.c <20>е<EFBFBD> __sys_read <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>жϽ<D0B6><CFBD><EFBFBD> read_fn <20><><EFBFBD><EFBFBD>
467) 2014.11.28
467.1) feature: acl_trace.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_log_strace() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ջ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
467.2) feature: acl_default_mallo.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_default_set_memlimit,
acl_default_get_memlimit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>󱨾<EFBFBD>ֵ
466) 2014.11.25
466.1) feature: acl_mystring.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_find_blank_line <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><D3B8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD>ҿ<EFBFBD><EFBFBD>е<EFBFBD>λ<EFBFBD><EFBFBD>
466.2) feature: acl_pthread_pool.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_pool_idle<6C><65>
acl_pthread_pool_busy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>̳߳<DFB3><CCB3>еĿ<D0B5><C4BF><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>æ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
466.3) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>Ӧ<EFBFBD><D3A6>
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ûص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>˳<EFBFBD>
465) 2014.11.23
465.1) bugfix: acl_threads_server.c/acl_aio_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP
<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ʽʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master reload <20><><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>¸<EFBFBD><C2B8>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
2014-11-19 00:25:21 +08:00
464) 2014.11.18
464.1) bugfix: snprintf.c <20><> acl_secure_snprintf/acl_secure_vsnprintf <20>ڵ<EFBFBD><DAB5><EFBFBD>
_vsnprintf_s ʱ<><CAB1><EFBFBD>󣬵<EFBFBD><F3A3ACB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B4AB> _TRUNCATE<54><45><EFBFBD><EFBFBD><EFBFBD>򵱻<EFBFBD><F2B5B1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<D0A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
463) 2014.11.10
463.1) bugfix: acl_threads_server.c <20><><EFBFBD>Կͻ<D4BF><CDBB><EFBFBD> IP <20><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ȩ<EFBFBD>޵Ĵ<DEB5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>
client_wakeup <20>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_threads2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> core
463.2) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_MASTER_SERVER_HANDSHAKE_FN
<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_MASTER_SERVER_ACCEPT_FN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>ϳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
462) 2014.11.8
462.1) bugfix: acl_json_util.c <20>еĺ<D0B5><C4BA><EFBFBD> json_escape_append <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
'/' <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
461) 2014.11.7
461.1) feature: json ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><ECB2BC><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>ֵ<EFBFBD>͵Ľӿ<C4BD>
------------------------------------------------------------------------
460) 2014.10.25
460.1) feature: acl_tcp_ctl.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ļ<EFBFBD>ȡ<EFBFBD>½ӿڣ<D3BF>acl_get_tcp_solinger<65><72>
acl_get_tcp_nodelay
459) 2014.10.24
459.1) bugfix: acl_aqueue.c <20><> acl_aqueue_free <20><><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ʹ<EFBFBD><CAB9>
458) 2014.9.9
458.1) feature: acl_threads_server.c <20>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD><D6A7>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(ioctl_thread_accept = 1) <20><> on_accept <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD>̳߳ص<CCB3><D8B5><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>д<EFBFBD><D0B4><EFBFBD>
458.2) feature: <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_EVENT_ACCEPT/ACL_EVENT_CONNECT <20><>
ACL_EVENT_READ/ACL_EVENT_WRITE <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
457) 2014.9.6
457.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʹ֮<CAB9><D6AE><EFBFBD>
456) 2014.9.2
456.1) acl_master <20><><EFBFBD>̵<EFBFBD> master_spawn.c <20>У<EFBFBD><D0A3>ں<EFBFBD><DABA><EFBFBD> master_delete_child <20>У<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_binhash_find <20><><EFBFBD><EFBFBD> NULL ʱ<><CAB1><EFBFBD>Զ<EFBFBD> panic<69><63><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD> acl_master <20>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָij<EFBFBD> warning
455) 2014.8.27
455.1) feature: acl_vstream.c <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD> IO <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ż<EFBFBD>¼λ<C2BC><CEBB>
------------------------------------------------------------------------
454) 2014.8.20
454.1) feature: ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> objs_table <20><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KEY-OBJECT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> acl_vstream_add_object/acl_vstream_get_object/acl_vstream_del_object
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
453) 2014.7.31
453.1) compile: <20><>FreeBSD9.2(64)<29>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
452) 2014.7.21
452.1) <20><> master/template/acl_tmpl.c <20>Ƶ<EFBFBD> stdlib/sys/unix/acl_core_limit.c
452.2) bugfix: acl_basename.c <20>е<EFBFBD> acl_safe_basename() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BUG
451) 2014.7.7
451.1) acl_set_ugid.c/acl_set_eugid.c: <20><><EFBFBD><EFBFBD><EFBFBD>̲<EFBFBD><CCB2><EFBFBD><EFBFBD>л<EFBFBD><D0BB>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ʱȡ<CAB1><C8A1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>
fatal <20>Ĺ<EFBFBD><C4B9>̣<EFBFBD><CCA3><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD> -1 <20><>ʾ<EFBFBD>л<EFBFBD><D0BB>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
450) 2014.6.26
450.1) feature: acl_vstream.c <20><> acl_vstream_gets_peek/acl_vstream_gets_nonl_peek
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf->maxlen > 0 ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>
<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ر𳤵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
450.2) feature: acl_aio_read.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>󳤶<EFBFBD><F3B3A4B6><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
449) 2014.6.23
449.1) acl_aio_server.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD>Խӿ<D4BD>
448) 2014.6.20
448.1) acl_aio_server.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP <20><>ַ<EFBFBD><D6B7><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
447) 2014.6.17
447.1) master/template: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>¸<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
447.2) removed: ȥ<><C8A5><EFBFBD><EFBFBD> acl_aio_app_main.c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺϲ<DCBA><CFB2><EFBFBD> acl_aio_server.c <20>У<EFBFBD>
ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_app_main.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еIJ<D0B5><C4B2>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD> acl_server_api.h <20><>
446) 2014.6.13
446.1) upgrade: ȥ<><C8A5><EFBFBD><EFBFBD> acl_ioctl_app_main.c<><63><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E9BDAB> acl_threads_server.c
<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
446.2) deprecated: <20><> acl_ioctl_server.c <20>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>ᱻȥ<E1B1BB><C8A5><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>еĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_threads_server.c ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
445) 2014.6.3
445.1) performance: acl_pthread_pool.c, worker_wait() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳<DFB3>
<EFBFBD>ʹ<EFBFBD><EFBFBD>̳߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pthread_cond_timedwait <20>ȴ<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF>Լ<EFBFBD><D4BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC>ֿ<EFBFBD><D6BF><EFBFBD>ʹ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>̳߳<DFB3><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
444) 2014.5.26
444.1) acl_scan_dir.c: <20><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>ڷ<EFBFBD><DAB7>ص<EFBFBD>Ŀ¼<C4BF>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'/' <20><> '\\' (win32)<29><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ȥ<EFBFBD><C8A5>β<EFBFBD><CEB2><EFBFBD><EFBFBD>Ŀ¼<C4BF>ָ<EFBFBD><D6B8><EFBFBD>
443) 2014.5.20
443.1) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD> root <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(main.cf)<29><>
<EFBFBD><EFBFBD> limit_privilege = 0
442) 2014.5.15
442.1) feature: acl_scan_dir.c <20><><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD> acl_scan_dir_next_name <20><><EFBFBD><EFBFBD><E1B8BB>һЩ<D2BB>ӿڵĹ<DAB5><C4B9><EFBFBD>
441) 2014.5.7
441.1) bugfix: acl_vstream.c <20><> acl_vstream_ftell Ӧ<>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>ȥ
441.2) bugfix: acl_aqueue.c <20><>Ӧ֧<D3A6><D6A7><EFBFBD><EFBFBD><EFBFBD>޵ȴ<DEB5><C8B4><EFBFBD>ʽ
440) 2014.5.5
440.1) feature: acl_vstream.c/acl_file.c ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>׼ C <20>е<EFBFBD> ftell <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ǰ<EFBFBD>ļ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD>λ<EFBFBD><EFBFBD>
439) 2014.4.2
439.1) acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ<EFBFBD><CAB1><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱȥ<CAB1><C8A5><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д״̬ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
438) 2014.4.1
438.1) bugfix: acl_vstream.c <20>е<EFBFBD><D0B5><EFBFBD> __vstream_write дʱԭ<CAB1><D4AD>û<EFBFBD>г<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻȻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><EFBFBD><EFBFBD>
437) 2014.3.27
437.1) bugfix: acl_ioctl_server.c <20>е<EFBFBD><D0B5><EFBFBD> acl_event_set_check_inter ʱӦ<CAB1><D3A6><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>
acl_ioctl_start ֮<>󣬷<EFBFBD><F3A3ACB7><EFBFBD><EFBFBD><EFBFBD>Ϊ ACL_EVENT <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
437.2) feature: acl_aio_server.c ֧<><D6A7><EFBFBD><EFBFBD> master_dispatch <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> master_dispatch ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
437.3) bugfix: acl_transfer_fd.c <20>У<EFBFBD><D0A3><EFBFBD> control_un <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>̲߳<EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>
437.4) compile: acl_transfer_fd.c <20><> *((int *) CMSG_DATA(cmptr)) = send_fd; <20><><EFBFBD><EFBFBD>
<EFBFBD>÷<EFBFBD><EFBFBD>ڸ߰汾 gcc (<28><><EFBFBD><EFBFBD> -O2 <20><><EFBFBD>Ͽ<EFBFBD><CFBF>أ<EFBFBD>ͬʱδʹ<CEB4><CAB9> -fno-strict-aliasing) <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD>
436) 2014.3.26
436.1) bugfix: acl_vstream_net.c <20><> acl_vstream_accept_ex <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
436.2) bugfix: acl_getpeername <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ԣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD>ֺ<EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD> acl_getsockname ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>ּ<EFBFBD><D6BC><EFBFBD>·<EFBFBD><C2B7>
436.3) bugfix: acl_transfer_fd.c <20><> acl_read_fd() <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ȡ fd ʱӦ<CAB1><D3A6><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ʾ<EFBFBD><CABE>
*recv_fd = *((int *) CMSG_DATA(cmptr)); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *recv_fd = *CMSG_DATA(cmptr);
436.4) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ͻ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>Ӧ<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ioctl_dispatch_addr = xxx <20><><EFBFBD><EFBFBD>
436.5) app: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> app/master_dispatch <20>׽<EFBFBD><D7BD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
435) 2014.3.24
435.1) bugfix: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD> reload <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>п<EFBFBD><D0BF>ܻᵼ<DCBB>²<EFBFBD><C2B2><EFBFBD> core
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master_spawn <20><><EFBFBD>жϽ<D0B6><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD> core<72><65><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD>Ҫԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_conf.c <20><> reload <20><><EFBFBD><EFBFBD>ʱԤ<CAB1><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>
a) <20><> acl_master_spawn <20>н<EFBFBD><D0BD><EFBFBD> warning <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> core
b) ȥ<><C8A5> master_conf.c <20><> acl_master_avail_reset <20><><EFBFBD><EFBFBD>
c) <20><> master_avail.c <20>е<EFBFBD> acl_master_avail_listen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD>
434) 2014.3.21
434.1) feature: acl_threads_server.c <20><><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD>ڹر<DAB9><D8B1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رյĻص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
433) 2014.3.20
433.1) bugfix: events_epoll_thr.c <20>ں<EFBFBD><DABA><EFBFBD> event_disable_readwrite <20>е<EFBFBD><D0B5><EFBFBD>
epoll_ctl ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҳ<EFBFBD><D2B2><EFBFBD>뱣֤<EBB1A3><D6A4><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>struct epoll_event*) <20>ǿգ<C7BF><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵͰ<DAB5>
<EFBFBD><EFBFBD> LINUX <20>»<EFBFBD><C2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
432) 2014.3.18
432.1) bugfix: events_pool_thr.c Ӧ<>ð<EFBFBD> acl_fdmap_add/acl_fdmap_del/acl_fdmap_ctx
<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>
431) 2014.2.27
431.1) workaround: event <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>Ϊ<EFBFBD>˷<EFBFBD>ֹ<EFBFBD><D6B9>64λ<34><CEBB><EFBFBD><EFBFBD>ת32λ<32><CEBB><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>ָ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ȫ<EFBFBD>ж<EFBFBD>
430) 2014.2.26
430.1) performance: events.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD>رգ<D8B1><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ<32><CEBB><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD><EFBFBD><EFBFBD> CPU
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
429) 2014.2.24
429.1) bugfix: events_epoll_thr.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
Ϊ<EFBFBD>˷<EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳ĺ<EFBFBD><EFBFBD><EFBFBD> event_enable_read <20><><EFBFBD>޸<EFBFBD> fdtabs <20>͵<EFBFBD><CDB5><EFBFBD>
epoll_ctl/EPOLL_CTL_ADD ֮<><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event_disable_readwrite <20>е<EFBFBD>
epoll_ctl/EPOLL_CTL_DEL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA> event_enable_read <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
------------------------------------------------------------------------
428) 2014.2.22
428.1) bugfix: events_iocp.c <20>ر<EFBFBD>δ<EFBFBD><CEB4>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ɶ˿<C9B6><CBBF><EFBFBD> WIN XP <20>´<EFBFBD><C2B4><EFBFBD> BUG<55><47>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD>ֹر<EFBFBD>ǰ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ˿<EFBFBD>״̬
427) 2014.2.21
427.1) bugfix: events_wmsg.c <20><><EFBFBD>ڻص<DABB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>н<EFBFBD> stream <20><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> win32 <20><>Ϣ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>첽 IO <20><><EFBFBD><EFBFBD>
427.2) bugfix: events_iocp.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ɶ˿<C9B6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ǰ<EFBFBD>ͷ<EFBFBD>
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(http://support.microsoft.com/kb/192800/zh-cn)
427.3) bugfix: acl_pthread_pool.c <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
426) 2014.2.17
426.1) feature: acl_event.c <20><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD> acl_event_set_check_inter<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
425) 2014.2.14
425.1) performance: acl_pthread_pool.c<><63><EFBFBD><EFBFBD> pthread_cond_signal <20><><EFBFBD><EFBFBD>
pthread_mutex_unlock ֮<>󣬴Ӷ<F3A3ACB4><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳ȴ<CCB5><C8B4><EFBFBD><EFBFBD>񱻴<EFBFBD><F1B1BBB4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><>˷<EFBFBD>ֹ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󶨵<EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>ͷţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
424) 2014.2.8
424.1) feature: acl_pthread_pool.c<><63><EFBFBD><EFBFBD><EFBFBD>̳߳<DFB3><CCB3>е<EFBFBD><D0B5>̳߳<DFB3>ʱ<EFBFBD>ȴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
1 <20><>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>ʱ<EFBFBD><CAB1>Ƭ
423) 2014.2.6
423.1) feature: <20><><EFBFBD><EFBFBD> gcc <20><> vc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>
422) 2014.2.3
422.1) performance: events_kernel_thr.c <20>ڵ<EFBFBD><DAB5><EFBFBD> event_loop ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
event_thr_prepare ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ߲<DAB8><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>
CPU <20><>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
422.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> events_epoll_thr.c<><63><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD> epoll <20>ĵ<EFBFBD><C4B5>÷<EFBFBD>ʽ<EFBFBD><CABD>
events_kernel_thr.c <20>а<EFBFBD><D0B0><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> epoll <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
421) 2014.1.25
421.1) workaround: ȥ<><C8A5><EFBFBD><EFBFBD> acl_threads_server.c, acl_ioctl_server.c,
acl_aio_server.c, acl_udp_server.c <20><><EFBFBD><EFBFBD><EFBFBD>õļ<C3B5><C4BC>ӹ<EFBFBD>(watchdog) <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
420) 2014.1.24
420.1) performance: acl_pthread_pool.c <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
419) 2014.1.23
419.1) performance: acl_pthread_pool.c <20>̳߳<DFB3><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
418) 2014.1.22
418.1) performance: acl_pthread_pool.c <20>̳߳<DFB3><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>߳<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
417) 2014.1.20
417.1) workaround: ACL_DEF_THREADS_BATADD(acl_threads_params.h) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
1 <20><>Ϊ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>µ<EFBFBD><C2B5>̳߳ؿ<CCB3><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ȱʡ<C8B1><CAA1><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ)
416) 2014.1.19
416.1) performance: acl_pthread_pool.c<><63><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>̳߳<DFB3>ͳһ<CDB3><D2BB>һ<EFBFBD><D2BB><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ϊÿ<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>̳߳ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
415) 2014.1.11
415.1) compile: ȥ<><C8A5><EFBFBD><EFBFBD> ACL_MS_WINDOWS <20><EFBFBD><EFBFBD><E5A3AC>WINDOWS<57><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһʹ<D2BB><CAB9> WIN32
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ VC <20><><EFBFBD><EFBFBD><EBBBB7>
415.2) compile: ֧<><D6A7> vc2008 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
414) 2014.1.7
414.1) bugfix: <20>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3> (acl_threads_server.c) Ӧ<><D3A6><EFBFBD><EFBFBD> acl_chroot_uid
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD> set_core_limit<69><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹӦ<CAB9>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> core <20>ļ<EFBFBD>
413) 2013.1.6
413.1) bugfix: <20><><EFBFBD>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3> (acl_threads_server.c) <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> pre_jail ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD> pre_jail <20>ص<EFBFBD><D8B5>л<EFBFBD><D0BB>õ<EFBFBD><C3B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
413.2) feature: <20><><EFBFBD>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD> pre_jail ǰʹ<C7B0><CAB9> acl_master <20><><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ֵĴ<EFBFBD><EFBFBD><EFBFBD>
412) 2013.12.31
412.1) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD>һЩ json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> bug
411) 2013.12.30
411.1) compatibility: json ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>ϵĽ<CFB5><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD>
410) 2013.12.29
410.1) feature: <20><> json <20>淶(www.json.org)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
409) 2013.12.25-27
409.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>(<28><EFBFBD><E7A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡij<C8A1><C4B3>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20>ַ<EFBFBD><D6B7><EFBFBD>)
408) 2013.12.15
408.1) feature: acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>Ʋ<EFBFBD><C6B2><EFBFBD> ioctl_batadd,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
407) 2013.12.13
407.1) feature: acl_pthread_pool.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_pool_alloc_job,
acl_pthread_pool_free_job, acl_pthread_pool_add_job(<28>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ľӿ<EFBFBD>)
407.2) feature: acl_threads_server.c, <20><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>
407.3) feature: event.c, acl_events.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
406) 2013.12.5
406.1) feature: Makefile ֧<><D6A7> solaris <20><><EFBFBD><EFBFBD>
405) 2013.12.4
405.1) remove: ȥ<><C8A5><EFBFBD><EFBFBD> event Ŀ¼<C4BF>µ<EFBFBD> events_kernel2.c <20><> events_kernel3.c
404) 2013.11.26
404.1) feature: acl_json.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_json_node_duplicate <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>һ<EFBFBD><D2BB> JSON
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> JSON <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_json_create <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>һ<EFBFBD><D2BB> JSON <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD> JSON <20><><EFBFBD><EFBFBD>
404.2) feature: acl_json_util.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_json_node_build <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>һ<EFBFBD><D2BB> JSON
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> JSON <20>ַ<EFBFBD><D6B7><EFBFBD>
403) 2013.11.25
403.1) bugfix: acl_json_parse.c<><63>json_val() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B4A6>
402) 2013.11.17
402.1) performance: acl_vstream.c<><63>__sys_read <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD> sys_read_ready
Ϊ 1 ʱ<><CAB1><EFBFBD>򲻻<EFBFBD><F2B2BBBB><EFBFBD><EFBFBD><EFBFBD>ϵͳ API select <20>жϳ<D0B6>ʱ<EFBFBD><CAB1><EFBFBD>̣<EFBFBD><CCA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ϵͳ<CFB5><CDB3><EFBFBD>ã<EFBFBD>
<EFBFBD><EFBFBD>Ϊ sys_read_ready <20><>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ģ<EFBFBD><C4A3>(event_xxx) <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
402.2) performance: acl_aio_server.c, acl_ioctl_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>μ<EFBFBD><CEBC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>master_status_notify<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>
acl_master <20><><EFBFBD><EFBFBD><EFBFBD>̻㱨<CCBB>ӽ<EFBFBD><D3BD>̵<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD> master_prefork Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҹ<EFBFBD>
ֵ > 1 ʱ<><CAB1><EFBFBD><EFBFBD> master_status_notify <20><><EFBFBD><EFBFBD>Ϊ 0<><30><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̲<EFBFBD><CCB2><EFBFBD><EFBFBD><EFBFBD> acl_master <20><>
<EFBFBD><EFBFBD><EFBFBD>̻㱨״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD>̵ĸ<CCB5><C4B8><EFBFBD>
402.3) performance: acl_vstream.c, <20><> acl_vstream_readn <20>У<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> read
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
401) 2013.11.7
401.1) bugfix: acl_vstream.c<><63><EFBFBD><EFBFBD> acl_vstream_ctl <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>Ϊ
ACL_VSTREAM_CTL_PATH ʱ<><CAB1><EFBFBD><EFBFBD> stream->addr_peer <20>ĸ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3A8> bug <20>ɸ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> gcc4.8.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
400) 2013.11.6
400.1) compile: acl_msg.c<><63><EFBFBD>ں<EFBFBD><DABA><EFBFBD> acl_last_serror() <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD>
------------------------------------------------------------------------
399) 2013.11.5
399.1) bugfix: events.c<><63>event_thr_fire() <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> disable_readwrite_fn
<EFBFBD><EFBFBD> fdp->stream = NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5> events_dog.c <20>б<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD>
398) 2013.11.3
398.1) acl_debug.c: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>ı<EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>Ա<EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʽ: 1:1, 2:10, 3:8... or 1:1; 2:10; 3:8...
397) 2013.11.2
397.1) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_debug <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> acl <20>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
396) 2013.10.29
396.1) bugfix: acl_xml_util.c, acl_xml_tag_add() <20>ڵ<EFBFBD><DAB5><EFBFBD> acl_token_tree_add
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD> ACL_TOKEN_F_STOP<4F><50>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> ACL_TOKEN_F_PASS
395) 2013.10.20
395.1) compile: acl_aio_app_main.c, <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> write ʱ<><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD>жϷ<D0B6><CFB7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڸ߰汾 gcc <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
394) 2013.10.17
394.1) bugfix: acl_mylog.c, <20><>ͨ<EFBFBD><CDA8> UDP <20><>ʽ<EFBFBD><CABD>¼<EFBFBD><C2BC>־ʱ<D6BE><CAB1><EFBFBD><EFBFBD>Ϊ֮ǰ acl_vstream.c
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD>ӿڵĸı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
393) 2013.10.15
393.1) feature: acl_aio_app_main.c/acl_ioctl_app_main.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
master_deny_banner <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
392) 2013.10.12
392.1) feature: acl_pthread_pool.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_pool_qlen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ǰ<EFBFBD>̳߳ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
391) 2013.10.7
391.1) performance: acl_vstream.c<><63><EFBFBD><EFBFBD> __vstream_sys_read <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ __sys_read<61><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊϵͳ read <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ַ<EFBFBD><D6B7>
<EFBFBD>Ӷ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> acl_vstream_readn/acl_vstream_read ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĶ<DDB5><C4B6>ο<EFBFBD><CEBF><EFBFBD>
------------------------------------------------------------------------
390) 2013.10.1
390.1) <20><> master ģ<><C4A3><EFBFBD>µ<EFBFBD>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
390.2) bugfix: events_select.c/events_select_thr.c <20><><EFBFBD>׽<EFBFBD><D7BD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʱ
<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ʱ<EFBFBD>䵥λΪ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>΢<EFBFBD><EFBFBD><EFBFBD> delay תΪ<D7AA>
389) 2013.9.30
389.1) feature: acl_single_server.c, acl_ioctl_server.c, acl_aio_server.c
acl_udp_server.c <20><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>Ի<EFBFBD><D4BB>ñ<EFBFBD><C3B1>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD>׽ӿ<D7BD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󼯺ϵĺ<CFB5><C4BA><EFBFBD>
388) 2013.9.27
388.1) events: ACL_EVENT_NOTIFY_RDWR/ACL_EVENT_NOTIFY_TIME <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_EVENT<4E><54>ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
ֱ<EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺ܶ๦<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>޸ģ<EFBFBD><EFBFBD><EFBFBD>Ҫ
Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>event, master, aio, ioctl
387) 2013.9.26
387.1) feature: master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UDP <20>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
acl_udp_server.c/acl_udp_params.h
386) 2013.9.22
386.1) feature: ACL_VSTREAM ֧<><D6A7> UDP <20><><EFBFBD><EFBFBD>; acl_vstream_net.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_vstream_bind <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UDP <20><><EFBFBD><EFBFBD>ģʽ
386.2) feature: ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_set_local_addr,
acl_vstream_set_peer_addr
386.3) acl_vstream.c: acl_vstream_set_remote <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ acl_vstream_set_peer
385) 2013.9.21
385.1) <20>Ż<EFBFBD>: ACL_VSTREAM <20>н<EFBFBD> remote_addr, local_addr <20><><EFBFBD><EFBFBD>Ϊָ<CEAA><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM <20><><EFBFBD>󴴽<EFBFBD>ʱ<EFBFBD>ijߴ<C4B3><DFB4><EFBFBD>С
385.2) feature: ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> struct sockaddr_in <20><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ա<EFBFBD>
<EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> UDP <20><><EFBFBD><EFBFBD>
385.3) feature: ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_set_local,
acl_vstream_set_remote, acl_vstream_set_path <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
384) 2013.9.13
384.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><EFBFBD>ļ<EFBFBD> Makefile.db<64><62>ʹ<EFBFBD>øù<C3B8><C3B9><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
mysql <20><><EFBFBD>ݿ⹦<DDBF>ܣ<EFBFBD>ʹ<EFBFBD><CAB9> Makefile <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_acl.a <20><>Ϊ<EFBFBD>ɾ<EFBFBD>
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κε<CEBA><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
383) 2013.8.21
383.1) feature: master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD> root <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><C3BB>޸<EFBFBD> acl_master <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> main.cf<63><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD> set_ugid = 0<><30>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵΪ 1
382) 2013.8.20
382.1) bugfix: acl_json_util.c::json_escape_append, acl_json_parse::json_tag
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀǰ<EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ݲ<EFBFBD>֧<EFBFBD><EFBFBD> \u <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
381) 2013.8.19
381.1) bugfix: acl_json_util.c::json_escape_append <20>в<EFBFBD>Ӧ<EFBFBD><D3A6> "{}[]" <20><>Щ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ϊ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
380) 2013.8.14
380.1) event: events_select/events_poll/events_kernel/events_iocp ʹ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʱ<EFBFBD>Ӹ<EFBFBD>Ϊ<EFBFBD><EFBFBD>ȷ
379) 2013.8.7
379.1) bugfix: <20><> iocp <20><>ʽ<EFBFBD>²<EFBFBD><C2B2><EFBFBD>ͨ<EFBFBD><CDA8> getpeername/getsockname <20><><EFBFBD><EFBFBD>
Զ<EFBFBD><EFBFBD>/<2F><><EFBFBD>صĵ<D8B5>ַ<EFBFBD><D6B7>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD> acl_vstream_accept_ex <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> setsockopt <20><><EFBFBD>ã<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
378) 2013.7.23
378.1) feature: acl_aio_server.c, aio_accept_timer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>
aio_accept_timer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ > 0 ʱ<><CAB1><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Խ<EFBFBD><D4BD>տͻ<D5BF>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD>Ŀ<EFBFBD><EFBFBD>
377) 2013.7.18
377.1) performance: event/event_kernel_thr.c, <20>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>̷߳<DFB3>ʽ<EFBFBD><CABD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȣ<EFBFBD>acl_master <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> kernel <20><>ʽʱ<CABD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
ioctl_enable_dog ѡ<><D1A1>
377.2) compile: linux32 gcc4 <20><><EFBFBD>򿪱<EFBFBD><F2BFAAB1><EFBFBD>ѡ<EFBFBD><D1A1> strict-aliasing rules ʱ<><CAB1>
acl_sane_socket.c <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SOCK_ADDR <20><><EFBFBD>ͱ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E1B1A8><EFBFBD><EFBFBD>
376) 2013.7.15
376.1) lib_acl: ȥ<><C8A5><EFBFBD><EFBFBD> svr ģ<><EFBFBD><E9A3AC>ģ<EFBFBD><C4A3><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB> thread/ <20>µ<EFBFBD><C2B5>̳߳<DFB3>ģ<EFBFBD><C4A3>
(acl_pthread_pool_xxx) <20><><EFBFBD>棻ͬʱ<CDAC>޸<EFBFBD><DEB8><EFBFBD> ioctl/ ģ<><C4A3><EFBFBD>ж<EFBFBD><D0B6><EFBFBD> svn ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>滻Ϊ threead/ <20>µ<EFBFBD><C2B5>̳߳<DFB3>ģ<EFBFBD><C4A3>
375) 2013.7.11
375.1) feature: acl_sane_socket.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_getsocktype <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>õ<EFBFBD>ǰ
socket <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20>׽ӿڻ<D3BF><DABB><EFBFBD> UNIX <20><><EFBFBD>׽ӿ<D7BD>;
acl_getsockname/acl_getpeername ֧<><D6A7> UNIX <20><><EFBFBD>׽ӿ<D7BD>
375.2) feature: acl_sane_accept.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_accept <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȽϷ<C8BD><CFB7><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD>տͻ<D5BF>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20>׽ӿڼ<D3BF> UNIX <20><><EFBFBD>׽ӿ<D7BD>
375.3) master/template: <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_server.c, acl_ioctl_server.c,
acl_single_server.c acl_multi_server.c, <20>ڲ<EFBFBD>ͳһ<CDB3><D2BB>Ϊ acl_accept <20><>ʽ
374) 2013.7.7
374.1) bugfix: acl_vstream.h, <20><>Ϊ ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD> wbuf <20><>ȡ<EFBFBD><C8A1>
дʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD> ACL_VSTREAM_PUTC <20>Ŀ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> wbuf <20>ռ<EFBFBD>
374.2) master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>Ϊ֧<CEAA><D6A7>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20><> UNIX
<EFBFBD><EFBFBD><EFBFBD>׽ӿڻ<EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD> UNIX <20><><EFBFBD>׽ӿڵ<D3BF>
accept <20><><EFBFBD><EFBFBD>
373) 2013.6.25
373.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gcc-4.6.3 <20>µ<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EBBEAF>
372) 2013.6.21
372.1) feature: acl_master <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ(<28><><EFBFBD><EFBFBD>Ϊ TCP
<EFBFBD>׽ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿڻ<EFBFBD><EFBFBD><EFBFBD>)
371) 2013.6.21
371.1) feature: acl_master <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> reload ʱ<><CAB1> prefork<72><6B><EFBFBD>޸ĵ<DEB8><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD>
master_avail.c, master_service.c, master_spawn.c, master.h
371.2) acl_master_log.c: <20><><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4>Դ<EFBFBD>
370) 2013.6.15
370.1) bugfix: acl_array.c->acl_array_prepend<6E><64><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>õ<EFBFBD> acl_array_succ_insert<72><74>
Ӧ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD> acl_array_pred_insert<72><74><EFBFBD><EFBFBD> BUG <20><>Ӱ<EFBFBD><EFBFBD><ECB5BD><EFBFBD>е<EFBFBD><D0B5><EFBFBD> acl_dlink, acl_iplink,
acl_access <20><><EFBFBD><EFBFBD><EFBFBD>ĵط<C4B5><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_app_main.c/acl_ioctl_app_main.c <20><><EFBFBD>йط<D0B9><D8B7><EFBFBD>
Ȩ<EFBFBD>޵ĵط<EFBFBD>
370.2) <20><> acl_iplink.c <20>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>Ϊֱ<CEAA>ӵ<EFBFBD><D3B5><EFBFBD> acl_dlink.c <20>еķ<D0B5><C4B7><EFBFBD>
370.3) samples/iplink: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> acl_iplink.c <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD>
369) 2013.6.4
369.1) bugfix: acl_mylog.c->reopen_log <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> RETURN <20><EFBFBD><EAB6A8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
thread_mutex_unlock<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_mutex_lock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
368) 2013.5.27
368.1) bugfix: acl_json_parse.c: <20><>Щ<EFBFBD><D0A9><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>\<5C><><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڵ<D6BD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ַ<EFBFBD>
<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 92<39><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD> last_ch < 0 <20>ҵ<EFBFBD>ǰ char Ϊ 92 ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; acl_xml_parse.c Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD>޸<EFBFBD>
367) 2013.5.23
367.1) acl_json.c/acl_xml.c: <20><><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󻺴<EFBFBD><F3BBBAB4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>acl_json_node_reset <20><>
acl_xml_node_reset <20>е<EFBFBD><D0B5><EFBFBD> ACL_VSTRING_RESET <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD> ACL_VSTRING_TERMINATE
366) 2013.5.20
366.1) bugfix: acl_basename.c -> acl_safe_basename <20><> 3 <20>·<EFBFBD><C2B7>޸ĵ<DEB8><C4B5><EFBFBD><EFBFBD><EFBFBD>
365) 2013.5.13
365.1) acl_ioctl_server.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_ioctl_server_main <20>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA> acl_ioctl_start
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> proc_init ֮ǰ<D6AE><C7B0><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD> proc_init <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Զ<EFBFBD>ʱ<EFBFBD><CAB1>
364) 2013.3.26
364.1) bugfix: acl_xml_parse.c->xml_parse_attr_val() <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
if (ch == attr->quote) ʱӦ<CAB1><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml->curr_node->last_ch = ch;
363) 2013.3.24
363.1) bugfix: acl_vstream_net.c->acl_vstream_listen_ex() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿڵ<D3BF>ַ
ʱû<EFBFBD>ж<EFBFBD> local_addr <20><>ֵ
362) 2013.2.26
362.1) bugfix: acl_dns.c, acl_dns_serror() <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣʱ<CFA2><CAB1>ѯ<EFBFBD><D1AF>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
362.2) bugfix: acl_dns.c, acl_dns_lookup() <20><><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD> ACL_DNS_REQ <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
361) 2013.2.5
361.1) bugfix: acl_scan_dir.c, acl_scan_dir_open() ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_mymalloc
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ浼<EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָij<EFBFBD> acl_mycalloc
360) 2013.1.29
360.1) bugfix: acl_vbuf_print.c, <20>¸ĵĴ<C4B5><C4B4><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ʽΪ %* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
359) 2013.1.26
359) performance: acl_vbuf_print.c <20>е<EFBFBD> fmt <20>ڴ<EFBFBD><DAB4><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>Ķ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>̶<EFBFBD><CCB6>Ķ<EFBFBD>ջ
<EFBFBD>ڴ棬ʹ֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>Լ 80% <20><><EFBFBD>ң<EFBFBD><D2A3>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸú<DAB8><C3BA><EFBFBD><EFBFBD><EFBFBD> ACL_VSTRING <20>еĸ<D0B5>ʽ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>fmt <20><><EFBFBD>ڴ<EFBFBD><DAB4>̶<EFBFBD>Ϊ 128 <20>ֽڣ<D6BD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㹻֧<E3B9BB><D6A7><EFBFBD><EFBFBD><EFBFBD>ڵĻ<DAB5><C4BB><EFBFBD>ָ<EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> %{xxx}d <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>У<EFBFBD>{xxx} Ϊ<><CEAA><EFBFBD>֣<EFBFBD><D6A3><EFBFBD> 123<32><33><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD> 128 <20><><EFBFBD>ֽڳ<D6BD><DAB3>ȵ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ˹̶<EFBFBD><EFBFBD>ߴ<EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD>ǰ<EFBFBD>ȫ<EFBFBD><EFBFBD>Ч<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD> 128 <20><><EFBFBD><EFBFBD>
<EFBFBD>ڳ<EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD> fatal <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>зǷ<D0B7><C7B7><EFBFBD><EFBFBD><EFBFBD>
358) 2013.1.22
358.1) bugfix: acl_single_server.c <20><> single_server_wakeup <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
357) 2012.12.31
357.1) feature: acl_ioctl_app_main.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>:
__app_on_timeout/__app_on_close<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿ<D7BD><D3BF><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
356) 2012.12.30
356.1) feature: acl_file.h, <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD>ͨ<EFBFBD>õĺ<C3B5><C4BA><EFBFBD>
356) 2012.12.28
356.1) compile: Makefile <20>ı<EFBFBD><C4B1><EFBFBD><EBBFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -pedantic ѡ<><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD> BUG
355) 2012.12.27
355.1) performance: ACL_VSTREAM <20><EFBFBD>Ż<EFBFBD><C5BB>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ýṹ<C3BD>ijߴ<C4B3><DFB4><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> 9K
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ֻ<EFBFBD><EFBFBD> 800 <20><><EFBFBD>ֽڣ<D6BD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>дʱ<D0B4><CAB1><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>IJ<EFBFBD><C4B2><EFBFBD>
354) 2012.12.3
354.1) bugfix: acl_events: event_limit() <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> acl_open_limit() ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
һ<EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD>̴򿪵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
354.2) feature: acl_ioctl_server.c/acl_aio_server.c: <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ϊ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
353) 2012.10.12
353.1) feature: xml/,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>acl_xml_getElementMeta/acl_xml_getEncoding/acl_xml_getType,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD> xml <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ֶε<D6B6><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
352) 2012.9.29
352.1) Ϊ<>˼<EFBFBD><CBBC><EFBFBD> MAC OS <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> __thread <20>ؼ<EFBFBD><D8BC>ֱ<EFBFBD>ʶ<EFBFBD>ľֲ<C4BE><D6B2><EFBFBD><EFBFBD><EFBFBD>ͳһ<CDB3><D2BB>Ϊͨ<CEAA><CDA8> acl_pthread_getspecific
<EFBFBD>Ⱥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
351) 2012.9.25
351.1) <20><> MAC OS <20><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴󲿷<CBB4>ʾ<EFBFBD><CABE>
351.2) ȥ<><C8A5><EFBFBD><EFBFBD> code/ Ŀ¼<C4BF><C2BC>һЩ<D2BB><D0A9><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>صĴ<D8B5><C4B4><EFBFBD>
350) 2012.8.26
350.1) feature: ACL_VSTREAM::flag <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>־λ<D6BE><CEBB>ACL_VSTREAM_FLAG_PREREAD,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_can_read ʱ<><CAB1><EFBFBD>жϴ˱<CFB4>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴˱<CBB4>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>ʾ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿɶ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
349) 2012.8.25
349.1) bugfix: acl_vstream.c <20>н<EFBFBD> stream->sys_read_ready = 0; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
__vstream_sys_read <20><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
348) 2012.8.1
348.1) <20><><EFBFBD><EFBFBD><EFBFBD>еĶ<D0B5>ʱ<EFBFBD><CAB1><EFBFBD>ӿڽ<D3BF><DABD><EFBFBD><EFBFBD>޸ģ<DEB8>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ԭ<EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ֻ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>еĶ<D0B5>ʱ<EFBFBD><CAB1><EFBFBD>ŻῪ<C5BB><E1BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܰ<EFBFBD><DCB0><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>
a) event: acl_events.c, acl_events.h, events_select.c, events_pool.c,
events_kernel.c, events_kernel2.c, events_kernel3.c, events_iocp.c,
events_wmsg.c, events_timer.c, events_alloc.c, events.c, events_select_thr.c,
events_poll_thr.c, events_kernel_thr.c, events_timer_thr.c
b) aio: acl_aio.c, acl_aio.h
c) master: master_spawn.c, master_wakeup.c, acl_single_server.c, acl_multi_server.c,
d) acl_trigger_server.c, acl_listener_server.c, unix_trigger.c
e) ioctl: acl_ioctl.c, acl_ioctl.h
347) 2012.7.27
347.1) acl_aio_read.c: acl_aio_enable_read() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵ݹ<CBB5><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>
can_read_callback() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> READ_SAFE_DISABLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
346) 2012.7.25
346.1) acl_xml_util.c: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> '<' <20><> '>' <20><>ת<EFBFBD><D7AA>֧<EFBFBD><D6A7>
346.2) acl_json_util.c: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> '{', '}', '[', ']' <20><>ת<EFBFBD><D7AA>֧<EFBFBD><D6A7>
345) 2012.7.23
345.1) bugfix: acl_xml_parse.c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD> '\' ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>
ACL_XML_ATTR <20><><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>Ա backslash <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
345.2) bugfix: acl_xml_util.c/acl_json_util.c <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҳû<D2B2>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD> '\' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
344) 2012.7.10
344.1) compile: <20><> snprintf <20><> WIN32 <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>Ϊ<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
343) 2012.7.2
343.1) bugfix: acl_aio_stream.c->close_astream() <20>в<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD> acl_aio_open
<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
343.2) feature: acl_aio.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_AIO_SET_TIMEOUT/ACL_AIO_SET_CTX<54><58>
<EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʱ/<2F><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
342) 2012.6.6
342.1) compile: event_epoll.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #include <stdint.h> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--liuhui (liuhui331234958@gmail.com)
341) 2012.6.4
341.1) bugfix: acl_ifconf.c <20><> win32 <20><> acl_free_ifaddrs() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
341.2) feature: acl_env.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_getenv3()/3 <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD> win32 <20><>Ҫ<EFBFBD><D2AA> acl_getenv <20><><EFBFBD><EFBFBD>ȫ
341.3) compile: <20><> AS6/CS6 <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
340) 2012.5.26
340.1) bugfix: net/connect/acl_stream_connect.c: acl_stream_connect()/3 <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
SUNOS5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LINUX<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ͣ<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>master/framework/trigger/stream_trigger.c
340) 2012.5.10
340.1) bugfix: acl_aio_app_main.c/acl_ioctl_app_main.c <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>
acl_access_permit ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP:PORT<52><54>ʽ<EFBFBD><CABD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD> IP
339) 2012.4.17
339.1) feature: json/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
338) 2012.4.15
338.1) feature: xml/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
338.2) samples: samples/xml/, <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD> xml <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: build_xml2()
337) 2012.4.9
337.1) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
336) 2012.4.5 --- 2.1.2.8 release
336.1) bugfix: events.h <20>еĺ<D0B5> SET_TIME ԭ<><D4AD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>Ϊ<EFBFBD><CEAA>
#define SET_TIME(x) { \
struct timeval _tv; \
gettimeofday(&_tv, NULL); \
(x) = ((unsigned long) _tv.tv_sec) * 1000000 + ((unsigned long) _tv.tv_usec);
\
}
Ӧ<EFBFBD>ø<EFBFBD>Ϊ<EFBFBD><EFBFBD>
#define SET_TIME(x) { \
struct timeval _tv; \
gettimeofday(&_tv, NULL); \
(x) = ((acl_int64) _tv.tv_sec) * 1000000 + ((acl_int64) _tv.tv_usec);
\
}
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>32λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> unsigned long Ҳ<><D2B2>32λ<32>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x ֵ<><D6B5><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĶ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
335) 2012.4.1
335.1) bugfix: acl_mem_slice.c <20><><EFBFBD><EFBFBD> mem_slice_free <20><><EFBFBD><EFBFBD>
thread_mutex_lock(__mem_slice_list_lock) ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> __mem_slice_list_lock
<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD> free_global_ctx <20>б<EFBFBD><D0B1>ͷ<EFBFBD><CDB7><EFBFBD>
334) 2012.3.31
334.1) lib_acl/src/master/framework: <20><EFBFBD><E0B4A6>δ<EFBFBD><CEB4>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ʼֵ<CABC><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS4/CS4 <20>ϳ<EFBFBD><CFB3><EFBFBD>
334.2) bugfix: acl_mylog.c->acl_close_log() <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>߳<EFBFBD><DFB3><EFBFBD>ʱ<EFBFBD>ظ<EFBFBD><D8B8>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
log->lock <20><><EFBFBD>ڴ棬<DAB4>ڵ<EFBFBD><DAB5><EFBFBD> thread_mutex_destroy ʱ<>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>Զ<EFBFBD><D4B6>ͷŵ<CDB7><C5B5><EFBFBD>
334.3) acl_single_server.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>򿪵<EFBFBD>˳<EFBFBD><CBB3>
333) 2012.3.27
333.1) bugfix: acl_mem_slice.c <20><>һ<EFBFBD><D2BB><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD><E2A3AC>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>
333.2) private_thread_mutex.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> thread_mutex_desotry <20><><EFBFBD><EFBFBD>
332) 2012.3.26
332.1) acl_json.c: <20><>һ<EFBFBD><D2BB> acl_json_alloc() <20><><EFBFBD><EFBFBD>
331) 2012.3.24
331.1) acl_master: prefork ģʽ<C4A3>Ľ<EFBFBD><C4BD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ʱ<EFBFBD>Ż<EFBFBD>Ԥ<EFBFBD><D4A4> fork
ָ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱֱ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
330) 2012.3.17
330.1) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD><D6A7> prefork ģʽ, ֻ<><D6BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
<EFBFBD>е<EFBFBD> master_prefork <20><><EFBFBD>ó<EFBFBD> > 0 <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> prefork ģʽ
330.2) feature: acl_read_wait/acl_write_wait ֧<><D6A7><EFBFBD><EFBFBD> UNIX <20>²<EFBFBD><C2B2><EFBFBD> poll <20><>ʽ
<EFBFBD><EFBFBD><EFBFBD>ж϶<EFBFBD>д<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> select <20><><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD>׳<EFBFBD><D7B3><EFBFBD> 1024 <20><><EFBFBD><EFBFBD>
329) 2012.3.14
329.1) bugfix: ȥ<><C8A5><EFBFBD><EFBFBD> acl_ioctl_app_main.c <20>е<EFBFBD>app_client_idle_limit <20><><EFBFBD><EFBFBD>
ѡ<EFBFBD>ʹ<EFBFBD><EFBFBD> acl_ioctl_server.c <20>е<EFBFBD> ioctl_rw_timeout <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӵĶ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ϳ<EFBFBD><EFBFBD>г<EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><EFBFBD>ij<EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
328) 2012.3.7
328.1) compile: <20>ڱ<EFBFBD><DAB1>붯̬<EBB6AF><CCAC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>£<EFBFBD>
make shared rpath=xxx; <20><><EFBFBD><EFBFBD><EFBFBD>붯̬<EBB6AF><CCAC>
<EFBFBD><EFBFBD> make rpath=xxx; ͬʱ<CDAC><CAB1><EFBFBD>붯̬<EBB6AF><EFBFBD><E2BCB0>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
327) 2012.2.12
327.1) performance: acl_json.c, acl_fifo.c, acl_argv.c ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ض<EFBFBD><D8B6><EFBFBD>
<EFBFBD>Ż<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
326) 2012.2.11
326.1) performance: acl_xml.c, ͨ<><CDA8><EFBFBD>ڴ<EFBFBD><DAB4>ط<EFBFBD>ʽ<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŹ<CDB7><C5B9><EFBFBD>
326.2) performance: acl_htable.c, <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ض<EFBFBD><D8B6>󣬸<EFBFBD>Ϊ
<EFBFBD>ɲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>
325) 2012.2.6
325.1) performance: aio/, <20>Ż<EFBFBD><C5BB>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><><D0B4><EFBFBD><EFBFBD>
324) 2012.1.10
324.1) feature: acl_aio_app_main.c <20><><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD>õĻص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
323) 2012.1.8
323.1) feature: acl_ioctl_app_main.c <20><><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD>õĻص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
322) 2011.11.28
322.1) acl_pthread_mutex.c: <20><><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD> acl_mymalloc <20><EFBFBD><E6BBBB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
acl_dbuf_pool_alloc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ڶ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڵĶѻ<C4B6><D1BB><EFBFBD><EFBFBD><EFBFBD>
321) 2011.11.26
321.1) acl_fhandle.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>һЩ<D2BB><D0A9><EFBFBD>ã<EFBFBD>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gid_server <20>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD>
321.2) acl_htable.c: <20><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD>־λ ACL_HTABLE_FLAG_KEY_LOWER <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>־֮һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴˱<EFBFBD><EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵתΪСд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ֶԼ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD>ֵ<EFBFBD><EFBFBD>Сд<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>
320) 2011.11.19
320.1) bugfix: acl_json.c, json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
320.2) feature: acl_json_util.c, acl_json_getElementsByTags <20><>ѯ<EFBFBD><D1AF>ǩ֧<C7A9><D6A7>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ʽ
320.3) feature: acl_xml_util.c, acl_xml_getElementsByTags <20><>ѯ<EFBFBD><D1AF>ǩ֧<C7A9><D6A7>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ʽ
319) 2011.10.23
319.1) json/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ˼<D4B4><CBBC><EFBFBD>C<EFBFBD><43><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>˹<EFBFBD><CBB9>
C <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>󣬿<EFBFBD><F3A3ACBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD>
318) 2011.10.8
318) acl_msg.c: <20><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ȴ<D6BE><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>ʱ<EFBFBD><CAB1>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κβ<EFBFBD><EFBFBD><EFBFBD>
317) 2011.10.1
317.1) stdlib/ Ŀ¼<C4BF>µ<EFBFBD> acl_vstring.h, acl_vbuf.h, acl_vbuf_print.h
ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĺ궨<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Postfix <20>ij<EFBFBD>ͻ
316) 2011.9.12
316.1) acl_pthread_t <20><><EFBFBD><EFBFBD><C2B6><EFBFBD>Ϊ unsigned long <20><><EFBFBD><EFBFBD>
316.2) acl_mem_slice.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ͷŵĻ<C5B5><C4BB><EFBFBD>
315) 2011.9.5
315.1) feature: acl_htmlcode.c ֧<><D6A7> &#xxx; <20><>ʽ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>
314) 2011.7.19
314.1) feature: acl_xml.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_add_tag <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ķDZպϱ<D5BA>ǩ
313) 2011.7.18
313) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 ƽ̨<C6BD>µİ汾<C4B0><E6B1BE>Դ<EFBFBD>ļ<EFBFBD>
312) 2011.6.29
312.1) acl_aio_read.c: <20><><EFBFBD><EFBFBD> acl_aio_gets, acl_aio_gets_nonl, acl_aio_read,
acl_aio_readn <20><><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>Ļص<C4BB><D8B5><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ٴε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD><EFBFBD>Щ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>еĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
311) 2011.6.17
311.1) bugfix: acl_aio_server.c, acl_ioctl_server.c, acl_single_server.c,
acl_multi_server.c, acl_trigger_server.c, <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>صı<D8B5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> int <20><><EFBFBD>ͣ<EFBFBD>
Ϊ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD> acl_event_request_timer <20>ȷ<EFBFBD><C8B7><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA> 1000000 ת<><D7AA> 64 int <20><><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD> acl_int64 <20><><EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1000000 <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA> 64 λ
<EFBFBD><EFBFBD><EFBFBD>ͶԴ<EFBFBD>
310) 2011.6.13
310.1) bugfix: acl_doze.c, <20><><EFBFBD>ߵ<EFBFBD>ʱ<EFBFBD>䵥λ<E4B5A5><CEBB><EFBFBD><EFBFBD>ʵ<EFBFBD>ֵIJ<D6B5><C4B2><EFBFBD><EFBFBD>Ǻ<EFBFBD><C7BA>
309) 2011.6.10
309.1) acl_getopt.c: <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD> fprintf<74><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻᵼ<DCBB><E1B5BC>ʹ<EFBFBD><CAB9> VC2010 <20><><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD> /MD <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD>е<EFBFBD> fprintf <20>ij<EFBFBD> printf
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC2010 <20>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD>
#if !defined(VC2003) && !defined(VC6)
extern "C" { FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]}; }
#endif
308) 2011.6.8
308.1) bugfix: acl_vstream.c, acl_vstream_readn_peek <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򽫻<EFBFBD>
Ӱ<EFBFBD><EFBFBD> acl_aio_read.c <20>е<EFBFBD> acl_aio_readn <20><><EFBFBD><EFBFBD>
307) 2011.5.31
307.1) feature: events/, aio/ ֧<>ֶ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>ѭ<EFBFBD><D1AD>ʹ<EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD>ֻ<EFBFBD><D6BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
acl_event_keep_timer <20><><EFBFBD>ɱ<EFBFBD>֤<EFBFBD><D6A4> acl_event_request_timer <20><><EFBFBD><EFBFBD><EFBFBD>õĶ<C3B5>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>ѭ<EFBFBD><D1AD>
ʹ<EFBFBD>ã<EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>ʹ<EFBFBD>ôε<EFBFBD>
306) 2011.5.24
306.1) bugfix: acl_xml_util.c, acl_xml_getElementsByTags() <20>е<EFBFBD><D0B5><EFBFBD>
acl_xml_getElementsByTagName() <20><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>û<EFBFBD>б<EFBFBD><D0B1>ͷ<EFBFBD>
306.2) bugfix: acl_xml.c, xml_iter_next/xml_iter_prev <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> do-while ѭ<><D1AD><EFBFBD><EFBFBD>
<EFBFBD>жϽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> parent == NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_alloc() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> XML <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_foreach_init() ʹ<>õ<EFBFBD> XML <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD>ʼ
<EFBFBD>ж<EFBFBD> parent == xml->root<6F><74><EFBFBD>Դ<EFBFBD><D4B4>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>˳<EFBFBD>ѭ<EFBFBD><D1AD>
305) 2011.5.19
305.1) bugfix: 2011.5.18 <20><> acl_vstream.c <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>Ȼ<EFBFBD><C8BB>ʹ iocp <20><><EFBFBD><EFBFBD><E6B9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ȴ<EFBFBD><EFBFBD>ʹ win32 <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD>Իָ<D4BB> acl_vstream.c ֮ǰ<D6AE><C7B0>״̬<D7B4><CCAC>ͬʱΪ<CAB1>˱<EFBFBD><CBB1><EFBFBD>
iocp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC> iocp <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> stream_on_close <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>׽ӿڹر<DAB9>
304) 2011.5.18
304.1) bugfix: acl_vstream.c<><63><EFBFBD>޸<EFBFBD><DEB8><EFBFBD> acl_vstream_close() <20>йر<D0B9><D8B1>׽ӿ<D7BD><D3BF><EFBFBD><EFBFBD>ӵ<EFBFBD>
˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> iocp <20><>Ϊ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> events_iocp.c <20>е<EFBFBD>
stream_on_close<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵ<EFBFBD> fdp->event_read t fdp->event_write <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿ<EFBFBD>δ<EFBFBD>ر<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD>ܻᱻ iocp ʹ<><CAB9>ʱ<EFBFBD><CAB1>ֻ<EFBFBD>е<EFBFBD><D0B5>׽ӿڹر<DAB9>ʱ<EFBFBD><CAB1>
iocp <20>Ų<EFBFBD><C5B2><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> IOCP_EVENT->overlapped <20>ȳ<EFBFBD>Ա
304.2) feature: acl_aio_connect.c<><63><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ϊ win32 <20><>Ϣʱ֧<CAB1><D6A7><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ܼ<EFBFBD>
303) 2011.5.17
303.1) bugfix: <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ľ<EFBFBD><C4BE>ȸij<C8B8>΢<EFBFBD><EFBFBD><EBBCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> events/ <20>µ<EFBFBD><C2B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
302) 2011.5.16
302.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붨ʱ<EBB6A8><CAB1><EFBFBD><EFBFBD><EFBFBD>صĹ<D8B5><C4B9>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD>е<EFBFBD>ʱ<EFBFBD><EFBFBD><E4BEAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBCB6>Ϊ΢<CEAA>
301) 2011.5.13
301.1) compile: <20><> StdAfx.h <20><> include/ Ŀ¼<C4BF>Ƶ<EFBFBD> lib_acl/ Ŀ¼
300) 2011.5.10
300.1) feature: acl_pthread.c, acl_pthread_tls_get() <20><><EFBFBD>Ա<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>˳<EFBFBD>ʱ
<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳ľֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD> valgrind <20><><EFBFBD><EFBFBD><E9B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
300.2) feature: acl_init.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_main_thread_self() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD>̺߳<EFBFBD>
300.3) bugfix: acl_pthread_mutex.c <20><> acl_thread_mutex_init_once() <20>ڴ<EFBFBD><DAB4><EFBFBD>
__header_key <20><> __pool_key ʱ<>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ٽ<EFBFBD><D9BD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD> acl_pthread_key_create()
<EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD> acl_pthread_key_create() <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
299) 2011.5.9
299.1) bugfix: acl_ioctl_server.c, <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>Ŀͻ<C4BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>̵<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ַ
298) 2011.5.8
298.1) feature: acl_xml.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_foreach_init, <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ϊһ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> xml <20><><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>
297) 2011.5.7
297.1) feature: acl_xml.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_getElementsByTags, <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
<EFBFBD><EFBFBD><EFBFBD>϶༶<EFBFBD><EFBFBD>ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD><E3BCAF>
296) 2011.5.6
296.1) bugfix: events_wmsg.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD>ر<EFBFBD><D8B1>׽<EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>,
Ӧ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD> DestroyWindow(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CloseWindow()
295) 2011.4.28
295.1) bugfix: <20><> UNIX/LINUX <20>µ<EFBFBD> select <20><> iocp ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>
select(win32), epoll, kqueue, devpoll, WSAAsyncSelect, <20><><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>һ<EFBFBD><D2BB>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ socket <20><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><E2B5BD><EFBFBD>ӹرգ<D8B1><D5A3>п<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>͹رյ<EFBFBD><EFBFBD>¼<EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl <20><><EFBFBD>¼<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD>Ƽ<EFBFBD><C6BC>첽IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD>socket<EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>socket.
Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
acl_vstream.c: acl_vstream_xxx_peek
acl_aio_read.c: __xxx_notify_callback
294) 2011.4.22
294.1) bugfix: acl_aio_read.c, acl_aio_readn() Ӧ<>õ<EFBFBD><C3B5><EFBFBD> __readn_peek <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> __read_peek<65><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> __read_peek <20>е<EFBFBD> acl_vstream_read_peek <20><><EFBFBD><EFBFBD> 0
ʱ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD> fatal
293) 2011.4.20--21
293.1) feature: acl_xml_code.c, acl_html_code.c, <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> XML <20><> HTML
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
392) 2011.4.19
392.1) bugfix: acl_xml.c, acl_xml_reset() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ð<EFBFBD> xml->curr_node
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B5BC><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
392.2) feature: acl_xml_parse.c, <20><><EFBFBD>Լ<EFBFBD><D4BC>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ">" <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
"/>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
392.3) feature: acl_xml_util.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_dump2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD>ת
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
391) 2011.4.18
391.1) feature: acl_vbuf_print.c, ֧<><D6A7> %zu, %zd <20><><EFBFBD><EFBFBD>
390) 2011.4.17
390.1) acl_mem_slice.c: <20><><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_tls_get/set
<EFBFBD><EFBFBD>Ϊ acl_pthread_get{set}specific<69><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD> acl_pthread_tls_xxx
<EFBFBD><EFBFBD>ͬʱʹ<EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ
389) 2011.4.12
389.1) performance: acl_xml.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xml_reset, acl_xml_cache
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
388) 2011.4.11
388.1) Makefile: <20><>ÿ<EFBFBD><C3BF>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> Makefile
<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ļ<EFBFBD>
388.2) Makefile: Ĭ<>Ͻ<EFBFBD> mysql <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
387) 2011.4.8
387) <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>ڸ߰汾GCC<43>ϵı<CFB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
386) 2011.3.28
386.1) acl_aio_read.c: <20>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
386.2) acl_aio_stream.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>ܺ<EFBFBD><DCBA><EFBFBD>
385) 2011.3.25
385.1) <20><> win32 ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD> VC <20><><EFBFBD><EFBFBD> release <20>汾ʱ assert <20><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ<EFBFBD><EFBFBD> assert <20>޸ij<DEB8> acl_assert
385.2) <20><EFBFBD><E1B9A9> acl_aio_create2 <20>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_EVENT_WMSG <20><>Ϣ
<EFBFBD>첽 IO ʱ<><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ҫ<EFBFBD>󶨵<EFBFBD><F3B6A8B5><EFBFBD>Ϣֵ
385.3) acl_aio_read.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_EVENT_WMSG ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>Ӧ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD>
<EFBFBD>Ĺ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>Ӧ<EFBFBD><EFBFBD>
384) 2011.3.19
384.1) acl_aio_listen.c: <20><> acl_aio_listen/acl_aio_accept <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
astream->flag |= ACL_AIO_FLAG_ISRD<52><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_disable_read <20>Լ<EFBFBD><D4BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
383) 2011.3.18
383.1) feature: events_wmsg.c ͨ<><CDA8> SetWindowLongPtr/GetWindowLongPtr
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> API <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ĵ<EFBFBD>ȡ<EFBFBD><EFBFBD>ʽ
382) 2011.3.16
382.1) bugfix: events_select_thr.c <20>е<EFBFBD><D0B5><EFBFBD> IO <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
381) 2011.3.13
381.1) bugfix: event <20><><EFBFBD><EFBFBD> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF>ܺķ<DCBA>CPU<50><55><EFBFBD>߼<EFBFBD>
381.2) aio: <20><> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD> event <20>еĶ<D0B5>ʱ<EFBFBD><CAB1>
380) 2011.3.12
381) feature: event/aio <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD>ˣ<EFBFBD>ACL<43><4C>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>: select, pool, epoll, kqueue, devpoll,
iocp, WIN32 GUI <20><>Ϣ<EFBFBD><CFA2>
382) feature: event/aio <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32<33><32><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><CAB1>֧<EFBFBD><D6A7>
379) 2011.3.8
379.1) bugfix: events_kernel.c, events_iocp.c: <20>ڵ<EFBFBD><DAB5><EFBFBD> event_disable_xxx
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> event_disable_read ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ж<EFBFBD> flag
<EFBFBD><EFBFBD>־λ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EVENT_FDTABLE_FLAG_WRITE, <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD>ж<EFBFBD> flag <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD>־
EVENT_FDTABLE_FLAG_ADD_WRITE, <20>Է<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>/д״̬ʱ<CCAC><CAB1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
380.1) private_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>POSTFIX<49>еij<D0B5>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ׺
378) 2011.3.1
378.1) acl_aio_write.c: acl_aio_vfprintf(), <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> acl_vstring_memcpy(),
<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>ڴ<EFBFBD><DAB4>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ acl_vstring_memmove()
377) 2011.2.26-27
377.1) acl_aio: <20><>ǿ<EFBFBD><C7BF><EFBFBD>ݴ<EFBFBD><DDB4>Լ<EFBFBD><D4BC><EFBFBD>׳<EFBFBD><D7B3>
376) 2011.2.23
376.1) feature: acl_ioctl_app_main.c, <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ԥ<EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD>û<EFBFBD>
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD>
375) 2011.2.17
375.1) feature: acl_mylog.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (TCP, UNIX) <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
374) 2011.2.16
374.1) bugfix: acl_mylog.c, <20><><EFBFBD><EFBFBD><EFBFBD>̼߳<DFB3><CCBC><EFBFBD>־ʱ<D6BE><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>û<EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
373) 2011.2.15
373.1) bugfix: acl_mylog.c, <20>п<EFBFBD><D0BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>ѭ<EFBFBD><D1AD>Ƕ<EFBFBD>׵<EFBFBD><D7B5>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>.
373.2) acl_aio_server.c: <20><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>Ʋ<EFBFBD><C6B2><EFBFBD> aio_quick_abort, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>з<EFBFBD> 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20>˳<EFBFBD>ʱ<EFBFBD><CAB1> aio <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> 0
373.3) acl_ioctl_server.c: <20><> ioctl_quick_abort <20><>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ϊ 1
372) 2011.2.14
372.1) bugfix: acl_mylog.c, <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>־<EFBFBD>е<EFBFBD>ǰ׺<C7B0><D7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ÿո<C3BF><D5B8>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>
֧<EFBFBD><EFBFBD> syslog-ng <20><> $PROGRAM <20><>
371) 2011.2.9
371.1) feature: acl_mylog.c, ֧<><D6A7><EFBFBD><EFBFBD> syslog-ng <20><><EFBFBD>ϼ<EFBFBD>¼<EFBFBD><C2BC>־<EFBFBD><D6BE>ʽ
370) 2011.1.27
370.1) bugfix: acl_vstring.c, acl_buffer_gets/acl_buffer_gets_nonl <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>а<EFBFBD><EFBFBD><EFBFBD> \n ʱû<CAB1>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD> \0
369) 2011.1.26
369.1) acl_mylog.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>м<EFBFBD>¼<EFBFBD>߳<EFBFBD>ID<49>ţ<EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
368) 2011.1.25
368.1) acl_mylog.c: ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE> pri(<28><>ʾȨ<CABE><C8A8>) <20>ļ<EFBFBD>¼<EFBFBD><C2BC>
367) 2011.1.24
367.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_trace.c <20><><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ջ<EFBFBD><D5BB>Ϣ<EFBFBD><CFA2>Ŀ<EFBFBD><C4BF><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
367.2) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̱<EFBFBD><CCB1>л<EFBFBD>Ϊ<EFBFBD><CEAA>ͨ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> core <20>ļ<EFBFBD>,
<EFBFBD><EFBFBD>Ӧ<EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>acl_master<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bool <20><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
ioctl_enable_core/aio_enable_core/trigger_enable_core/single_enable_core
/multi_enable_core
367.3) bugfix: acl_dbpool_mysql.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>ʱ<EFBFBD><CAB1><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD>
366) 2011.1.21
366.1) acl_init.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_version/1 <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ǰACL<43>İ汾<C4B0><E6B1BE>
366.2) bugfix: acl_dbpool_mysql.c, <20><><EFBFBD><EFBFBD><EFBFBD>ӵĹ<D3B5><C4B9>ܺ<EFBFBD><DCBA><EFBFBD>db_before_connect<63><74><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
365) 2011.1.18
365.1) samples: master_notify, <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
365.1) master: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
364) 2011.1.10
364.1) feature: acl_dbpool.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>֮ǰ<D6AE>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
363) 2010.12.31
363.1) bugfix: acl_dbpool_mysql.c, <20>ڵ<EFBFBD><DAB5><EFBFBD> __dbpool_mysql_destroy ʱ<><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
mysql_library_end(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
363.2) sample: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dbpool <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳع<D3B3><D8B9><EFBFBD>
363.3) feature: db/mysql: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MYSQL<51><4C><EFBFBD><EFBFBD><EFBFBD>ж϶<D0B6><CFB6><EFBFBD>ѯʧ<D1AF><CAA7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD>
362) 2010.12.28
362.1) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD> src/unit_test <20><><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
361) 2010.12.13
361.1) acl_xml_parse.c: acl_xml_parse <20><><EFBFBD><EFBFBD>Ϊ acl_xml_update <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
361.2) acl_base64.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԼӸı<D3B8>
360) 2010.12.7
360.1) feature: acl_vstring.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstring_memmove()/3 <20><><EFBFBD><EFBFBD>
359) 2010.11.29
359.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_utf8_to_big5/acl_big5_to_utf8,
acl_utf8_to_unicode/acl_unicode_to_utf8,
acl_gb2312_to_big5/acl_big5_to_gb2312,
acl_hz_to_gb2312/acl_gb2312_to_hz <20>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
358) 2010.11.16
358.1) bugfix: acl_array.c, acl_stack.c <20><>ʹ<EFBFBD><CAB9> acl_foreach() <20><>
ʱ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʱ<EFBFBD><CAB1>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ԫ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
357) 2010.11.15
357.1) feature: ACL_ARGV(acl_argv.c/acl_argv.h),
ACL_ARRAY(acl_array.c/acl_array.h),
ACL_FIFO(acl_fifo.c/acl_fifo.h),
ACL_STACK(acl_stack.c/acl_stack.h) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> push_back/push_front,
pop_back/pop_front <20><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
357.2) aio: <20><><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>
356) 2010.11.2
356.1) compile: <20><>WIN32<33>±<EFBFBD><C2B1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>.pdb<64>ļ<EFBFBD>ָ<EFBFBD><D6B8>
355) 2010.10.28
355.1) bugfix: acl_base64.c, acl_vstring_base64.c, <20><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD>
Ϊ 128 <20>ֽڵ<D6BD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> char ֵ<><D6B5><EFBFBD><EFBFBD> 128 <20><><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩbase64<36>ķǷ<C4B7><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD>), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD>޸ij<DEB8>
255 <20>ֽڵĽ<DAB5><C4BD><EFBFBD><EFBFBD><EFBFBD>
355.2) compile: StdAfx.h <20><> #include <limit.h> <20><>Ϊͨ<CEAA>õ<EFBFBD>ϵͳͷ
354) 2010.9.19
354.1) bugfix: acl_vstream.c, acl_vstream_gets_nonl() û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACL_VSTREAM_FLAG_TAGYES / ACL_VSTREAM_FLAG_TAGNO <20><>־λ
353) 2010.9.16
353.1) bugfix: acl_debug.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_debug_end() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
<EFBFBD>ͷ<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
353.2) acl_mystring.h: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> strcasecmp <20>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EAB6A8>
352) 2010.8.4
352.1) compile: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD> AS3, AS4 <20>ϵı<CFB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
351) 2010.7.21
351.1) bugfix: acl_token_tree.c, acl_token_tree_create() <20><> 485 <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> argv <20>ڴ<EFBFBD>û<EFBFBD>б<EFBFBD><D0B1>ͷ<EFBFBD>
350) 2010.7.11
350.1) xml: acl_xml_parse.c xml_parse_left_tag() <20>޸<EFBFBD>, <20>Ը<EFBFBD><D4B8>õ<EFBFBD>֧<EFBFBD><D6A7>
<br/> <20><> <br /> <20><>ʽ
349) 2010.6.9
349.1) ֧<><D6A7> gcc <20><>Ԥ<EFBFBD><D4A4><EFBFBD>ʽ, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ٶȴ<D9B6>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
348) 2010.6.8
348.1) ֧<><D6A7> vc2003 <20><>Ԥ<EFBFBD><D4A4><EFBFBD>ʽ<EBB7BD><CABD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ٶȴ<D9B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
347) 2010.6.27-7.6
347.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml Ŀ¼, <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD> xml <20><> html <20>ļ<EFBFBD>, <20>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>"״̬<D7B4><CCAC>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򲿷ֽ<F2B2BFB7><D6BD><EFBFBD>, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽͨѶ; ͬʱ<CDAC>ÿ⻹<C3BF><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> javascript <20>ļ򵥲<C4BC>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>.
ע: Ŀǰ<C4BF>ÿ⻹<C3BF><E2BBB9><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>֪<EFBFBD><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
a) <20><> doctype <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
b) <20><> xml <20><>ʼʱ<CABC><CAB1><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>Ӹ<EFBFBD><D3B8><EFBFBD><E0B9A6>
347.2) bugfix: acl_vstream.c 340 <20>е<EFBFBD><D0B5><EFBFBD> snprintf ʱ<><CAB1><EFBFBD><EFBFBD> ebuf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>, <20>ҿ<EFBFBD> valgrind <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>
347.3) acl_ring.c: acl_ring_detach <20><>, ԭ<><D4AD><EFBFBD>Ὣij<E1BDAB><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ring->succ <20><>
ring->pred <20><><EFBFBD><EFBFBD> NULL, <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_ring_init ֮<><D6AE>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ, <20><>
<EFBFBD><EFBFBD> ring->succ, ring->pred, ring->parent <20><>Ϊ<EFBFBD>Լ<EFBFBD>, ͬʱ<CDAC><CAB1> ring->len <20><> 0
346) 2010.6.13
346.1) feature: code/acl_gbcode.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_gb2312_to_utf8()/4 <20><>
acl_utf8_to_gb2312()/4 <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
345) 2010.6.8
345.1) feature: acl_vstream.c, acl_vstream_unread <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD><EFBFBD>Զ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; acl_vstream_ungetc ͨ<><CDA8><EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_unread <20><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ݿ϶<DDBF><CFB6>ܱ<EFBFBD><DCB1><EFBFBD>д
344) 2010.5.6
344.1) feature: acl_vstream.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_unread <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·Ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
343) 2010.4.17
343.1) bugfix: events_poll.c/events_select_thr.c/events_poll_thr.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 342.1 <20><>ʾ<EFBFBD><CABE><EFBFBD>⣬ͳһ<CDB3><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
342) 2010.4.11
342.1) bugfix: events_select.c, event_loop() <20>е<EFBFBD> event_prepare() <20><><EFBFBD><EFBFBD> 0
<EFBFBD><EFBFBD> eventp->fdcnt_ready > 0 ʱ<><CAB1><EFBFBD><EFBFBD>Ϊ goto TAG_DONE <20><><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> for
ѭ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xmask/rmask/wmask <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>Ԥ֪<D4A4><D6AA><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> goto TAG_DONE <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>ʼ nready/xmask/rmask/wmask,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><EFBFBD>񣬿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD> goto <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD> goto
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷʵӦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>:)
341) 2010.3.31
341.1) bugfix: events_epoll.h/events_kernel.c, <20><> Linux <20>£<EFBFBD>epoll
<EFBFBD><EFBFBD> EPOLL_CTL_DEL ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
340) 2010.3.24
340.1) feature: acl_htable.c, <20><><EFBFBD><EFBFBD> ACL_HTABLE_FLAG_MSLOOK <20><>־λ<D6BE><CEBB>
<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> acl_htable_create <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3>ʱ<EFBFBD>򿪴˱<F2BFAAB4>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ѯʱ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>λ<EFBFBD><EFBFBD>
340.2) <20><> acl_init.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD>µ<EFBFBD> ws2_32.lib <20><>
wsock32.lib <20><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
339) 2010.3.6--2010.3.17
339.1) feature: <20><>WIN32ƽ̨<C6BD>£<EFBFBD>event <20>¼<EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD><D6A7> iocp <20>ӿڷ<D3BF>ʽ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL <20><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD>֡<EFBFBD>WIN32(vc2003<30><33><EFBFBD><EFBFBD>)/LINUX/BSD/SOLARIS
<EFBFBD>ĸ<EFBFBD>ƽ̨<EFBFBD>µ<EFBFBD><EFBFBD>ں˼<EFBFBD><EFBFBD>߼<EFBFBD>IO<EFBFBD><EFBFBD>ʽ
339.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_aio <20><><EFBFBD><EFBFBD>
338) 2010.3.5
338.1) bugfix: acl_dbpool_mysql.c->__dbpool_mysql_destroy() <20><>һ<EFBFBD><D2BB><EFBFBD>ڴ<EFBFBD>
й¶(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>acl_array_destroy(mysql_pool->handles, NULL))<29><><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ջԷ<EFBFBD><EFBFBD><EFBFBD>
338.2) acl_dns.c: <20><> jaws <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mod_http.so ģ<><EFBFBD><E9A3AC>Ϊ<EFBFBD>Ƕ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>أ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD> dns_lookup_timeout() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7> jaws <20>к<EFBFBD> mod_http.so <20>Dz<EFBFBD>һ<EFBFBD><D2BB>
<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_dns.c <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_cancel_timer() ȡ<><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
<EFBFBD>޷<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>԰<EFBFBD> dns_lookup_timeout() <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ֱַ<D6B7>Ӹ<EFBFBD><D3B8><EFBFBD>
ACL_DNS.lookup_timeout <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD> mod_http.so <20><><EFBFBD><EFBFBD><EFBFBD>пռ<D0BF><D5BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_request_timer <20>еIJ<D0B5><C4B2><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD> jaws <20><><EFBFBD><EFBFBD><EFBFBD>пռ<D0BF><D5BC>ڵ<EFBFBD><DAB5><EFBFBD>
acl_aio_cancel_timer <20>еIJ<D0B5><C4B2><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>һ<EFBFBD>µ<EFBFBD>
337) 2010.3.2
337.1) bugfix: events_kernel.c/events_kernel2.c/events_kernel3.c <20>ĺ<EFBFBD><C4BA><EFBFBD>
event_loop() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EVENT_TEST_ERROR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>ʱ
epoll/devpoll <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>ֵij<D6B5><C4B3><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
336) 2010.2.23-2.24
336.1) performance: events_kernel.c <20><>һ<EFBFBD><D2BB><EFBFBD>Ż<EFBFBD><C5BB>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD>ڳ<EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ; <20><><EFBFBD><EFBFBD><><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>÷<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱȽ϶<C8BD>ʱ<EFBFBD><CAB1>ÿ
<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫȫ<EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
336.2) <20><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> events_kernel.c<><63>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ events_kernel2.c,
events_kernel3.c<><63><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>(˭֪<CBAD><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>)
335) 2010.2.11
335.1) acl_aio_read.c: acl_aio_enable_read() <20><><EFBFBD><EFBFBD><EFBFBD>жϻ<D0B6><CFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӻص<D3BB>
<EFBFBD>û<EFBFBD><EFBFBD>Ļص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
334) 2010.2.9
334.1) bugfix: acl_dns.c, acl_add_dns_host() <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>IP<49>б<EFBFBD>ʱ
<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
333) 2010.2.8
333.1) feature: acl_dns.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B9A6>
332) 2010.2.5
332.1) events_select.c, events_poll.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> events_kernel.c <20>еķ<D0B5>ʽ
<EFBFBD><EFBFBD>д
331) 2010.2.4
331.1) bugfix: events_kernel.c <20>޸<EFBFBD><DEB8><EFBFBD>һЩBUGS, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><CAB1>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
331.2) feature: acl_vstream.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_call_close_handles()/1
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ùرջص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> events_kernels.c
330) 2010.1.25 -- 2010.2.3
330.1) event/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> epoll/kqueue/devpoll <20><>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><E6A3AC>
ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> event_kernel.c <20><><EFBFBD><EFBFBD>Ϊ event_kernel2.c, <20>µ<EFBFBD><C2B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ
event_kernel.c
330.2) bugfix: acl_access.c/acl_access_permit() <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϊ
IP:PORT/IP <20><>ʽ
330.3) acl_vstream.c: acl_vstream_close() <20><> event_kernel.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
֧<EFBFBD><EFBFBD><EFBFBD>ӳٹرչ<EFBFBD><EFBFBD><EFBFBD>
330.4) aio/: acl_aio.c, aio_callback.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
ACL_ASTREAM.stream <20><><EFBFBD><EFBFBD><EFBFBD>ӳٹر<D9B9>; aio_callback.c <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>رջص<D5BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
-1 <20><>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>رջص<D5BB>
329) 2010.1.24
329.1) aio/: acl_aio_disable_readwrite, acl_aio_disable_read,
acl_aio_disable_write <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
328) 2010.1.22
328.1) bugfix: acl_vstream.c, acl_vstream_readn_peek() <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
328.2) bugfix: acl_aio.c, acl_aio_open() <20>ڶԼ<DAB6><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сʱ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>if ((stream->type ACL_VSTREAM_TYPE_LISTEN))<29><>
Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> if ((stream->type & ACL_VSTREAM_TYPE_LISTEN))<29><>ͬʱ<CDAC><CAB1>
stream->read_buf <20>ǿ<EFBFBD>ʱ<EFBFBD><CAB1>stream->read_buf_len <20>Dz<EFBFBD><C7B2>ܱ<EFBFBD><DCB1>޸ĵ<DEB8>
327) 2010.1.19
327.1) acl_pthread.h: ACL_PTHREAD_ONCE_INIT <20><> solaris <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ϊ
{ PTHREAD_ONCE_INIT }, ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD><EFBFBD> solaris <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>:
static acl_pthread_once_t once_control = ACL_PTHREAD_ONCE_INIT;
327.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
326) 2010.1.18
326.1) acl_dns.c: <20><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><E6B9A6>(ʹ<><CAB9><EFBFBD><EFBFBD> acl_cache2.c <20>еĺ<D0B5><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>)
325) 2010.1.17
325.1) acl_cache2.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD>ܲ<EFBFBD><DCB2>޸<EFBFBD><DEB8><EFBFBD>һЩ bugs
325.2) samples: cache2/
324) 2010.1.16
324.1) <20><> acl_idns.c <20><><EFBFBD><EFBFBD>Ϊ acl_dns.c, acl_idns.h <20><><EFBFBD><EFBFBD>Ϊ acl_dns.h, <20><>
ACL_DNS_EVENT <20><><EFBFBD><EFBFBD>Ϊ ACL_DNS_REQ
324.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_cache2.c ģ<><C4A3>, <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ù<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_cahce.c (<28><><EFBFBD>ù<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>ʽ) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD>
323) 2010.1.15
323.1) feature: acl_idns.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽DNS<4E><53>ѯ<EFBFBD><D1AF><EFBFBD>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD>ع<EFBFBD><D8B9>ܺ<EFBFBD><DCBA><EFBFBD>; <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>
֧<EFBFBD><EFBFBD>DNS<EFBFBD><EFBFBD>ѯ<EFBFBD>Ķ<EFBFBD>̬ƽ<EFBFBD><EFBFBD>ܼ<EFBFBD>DNS<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
323.2) bugfix: rfc1035.c(<28><>squid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>) <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
323.3) samples: idns/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>DNS<4E><EFBFBD><ECB2BD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DNS<4E><53><EFBFBD><EFBFBD>
322) 2010.1.14
322.1) acl_aio_connect.c: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>߼<EFBFBD>ִ<EFBFBD><D6B4>˳<EFBFBD><CBB3>
322.2) master/template/: <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ʹ<EFBFBD>õ<EFBFBD> argv <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ΪСд
321) 2010.1.13
321.1) bugfix: aio_callback.c, <20>ڵ<EFBFBD><DAB5>ùرջص<D5BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֻҪ<D6BB><D2AA>һ<EFBFBD><D2BB><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1 <20><>Ӧ<EFBFBD><D3A6>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>Ĺرջص<D5BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
320) 2010.1.7
320.1) bugfix: acl_pthread.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><E6B4A2>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD> acl_myxxx <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ʽ
320.2) feature: private_fifo.c Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>ӿ<EFBFBD>
320.3) acl_vstream_popen.h: Ϊ<><CEAA><EFBFBD><EFBFBD> win32 ƽ̨<C6BD><CCA8><EFBFBD>Զ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>ʽʹ<CABD><CAB9><EFBFBD><EFBFBD>Щ
<EFBFBD>ӿڣ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ ACL_API
320.4) win32 <20><><EFBFBD><EFBFBD><EBB9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
320.5) acl_aio_listen.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD>ʱ<EFBFBD><CAB1>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1> fatal, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>˯<EFBFBD><EFBFBD> 1 <20><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
319) 2010.1.6
319.1) acl_aio_listen.c: <20><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
318) 2010.1.5
318.1) feature: acl_mem_slice.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_mem_slice_delay_destroy <20>ӿ<EFBFBD>,
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ռ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD>̲߳<EFBFBD><EFBFBD><EFBFBD>
Ӳ<EFBFBD><EFBFBD><EFBFBD>ͷű<EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ͷŷ<EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>Ƭ<EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD>ʣ<EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ֵĴ<EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD><EFBFBD> acl_mem_slice_delay_destroy
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
317) 2010.1.4
317.1) bugfix:
acl_aio_read.c/acl_aio_write.c/acl_aio_connect.c/aio_callback.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>п<EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ݹ<EFBFBD>Ƕ<EFBFBD>׶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ص<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
316) 2010.1.2
316.1) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>ӿ<EFBFBD>ע<EFBFBD><D7A2>; <20>޸<EFBFBD><DEB8>˲<EFBFBD><CBB2>ֽӿ<D6BD><D3BF><EFBFBD><EFBFBD>ƣ<EFBFBD>ʹ֮<CAB9><D6AE><EFBFBD>׶<EFBFBD><D7B6><EFBFBD>
316.2) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_enable_write <20>ӿ<EFBFBD>
315) 2010.1.1
315.1) acl_aio.c: <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4>޸<EFBFBD>ʱ<EFBFBD><CAB1> acl_aio_read.c <20><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>һ<EFBFBD><D2BB>BUG
315.2) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_enable_read <20><><EFBFBD><EFBFBD>
314) 2009.12.31
314.1) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
314.2) acl_array.c: <20><><EFBFBD><EFBFBD> acl_array_clean/acl_array_destroy <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>иĶ<D0B8>
313) 2009.12.25
313.1) bugfix: acl_vstream.c <20><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
312) 2009.12.23
312.1) feature: acl_mem_slice.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵʱ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
<EFBFBD>ͷű<EFBFBD><EFBFBD>̷߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>Դ)
312.2) compile: BSD ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
311) 2009.12.19-12.20
311.1) performance&feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<CDB7><C5BA><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD>߳̽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ij<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD>߳<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
311.2) acl_aio_server.c/acl_aio_app_main.c: Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʣ<EFBFBD><CAA3>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
310) 2009.12.18
310.1) feature: acl_slice.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_slice_pool_xxx ϵ<>й<EFBFBD><D0B9><EFBFBD>
309) 2009.12.17
309.1) feature&performance: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_mem_slice.c, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Ը<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>ڴ<EFBFBD>
308) 2009.12.16
308.1) performance: acl_vstream.c <20>е<EFBFBD> __bfread_cnt_ready <20><> __bfread_ready
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD>ܴ<EFBFBD>Ӱ<EFBFBD><EFBFBD> acl_aio_read()
<EFBFBD><EFBFBD> acl_aio_readn() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
307) 2009.12.12
307.1) bugfix: acl_sys_file.c <20>е<EFBFBD> acl_file_fsize()/1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> win32 ƽ̨<C6BD><CCA8>,
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>64λ<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> nHigh << 32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> nHigh Ϊ DWORD
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><EFBFBD><EFBFBD>32λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
306) 2009.12.10-12.11
306.1) feature: acl_pthread.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_tls_get/acl_pthread_tls_set,
<EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, acl_pthread_tls_set_max/acl_pthread_tls_get_max,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> acl_pthread_tls_get/acl_pthread_tls_set <20><><EFBFBD>õ<EFBFBD><C3B5>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊϵͳ<EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
306.2) acl <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> __thread <20><>ʽʹ<CABD><CAB9><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
ʹ<EFBFBD>÷<EFBFBD>ʽ<EFBFBD>ڵ<EFBFBD>Ӧ<EFBFBD>ö<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl <20><>̬<EFBFBD><CCAC>ʱ<EFBFBD><EFBFBD><E1B7A2><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ǿ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD> acl
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl <20><>̬<EFBFBD><CCAC><EFBFBD>򲻻<EFBFBD><F2B2BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣩; Ŀǰ<C4BF><C7B0><EFBFBD>м<EFBFBD><D0BC><EFBFBD>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBBB9> __thread
<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: zdb_dat_iter.c, zdb_key.c, acl_aio_app_main.c, acl_aio_server.c,
acl_ioctl_app_main.c, rfc1035.c, acl_meter_time.c, gettimeofday.c, Ӧ<><D3A6><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
<EFBFBD><EFBFBD>ЩԴ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>ʱһ<EFBFBD><EFBFBD>ע<EFBFBD>ⲻҪ<EFBFBD>Զ<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl <20><>̬<EFBFBD>ʽʹ<CABD><CAB9>֮
305) 2009.12.9
305.1) feature: acl_pthread.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_tls_get, acl_pthread_tls_set
<EFBFBD>ӿڣ<EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> win32 ƽ̨<C6BD>µ<EFBFBD> acl_pthread_key_create, acl_pthread_getspecific,
acl_pthread_setspecific <20>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>ʽ<EFBFBD><CABD> UNIX <20>µ<EFBFBD> pthread_key_create,
pthread_getspecific, pthread_setspecific <20><>ͬ, Ϊ<>˱<EFBFBD>֤<EFBFBD><D6A4>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
acl_xxx <20><>ʽʹ<CABD><CAB9><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
304) 2009.12.7-12.8
304.1) feature: acl_dll.c, <20><><EFBFBD>ڶ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
304.2) bugifx: acl_netdb.c, acl_res.c res_util.c <20>ڲ<EFBFBD><DAB2>õ<EFBFBD><C3B5><EFBFBD> inet_ntoa,
<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷߳ǰ<EFBFBD>ȫ<EFBFBD><EFBFBD>, ͳһ<CDB3><D2BB><EFBFBD><EFBFBD> acl_inet_ntoa
303) 2009.12.6
303.1) acl_fifo.c: <20><>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD>ʵ<EFBFBD>ֵ<EFBFBD><D6B5>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
302) 2009.12.3
302.1) bugfix: acl_vstring_sprintf(), <20><><EFBFBD>е<EFBFBD> fmt 64λ<34><CEBB>ʽ<EFBFBD>ַ<EFBFBD>(<28><>: llu)
<EFBFBD><EFBFBD>VC6<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷʶ<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: UNIXƽ̨<C6BD><CCA8> llu/lld,<2C><><EFBFBD><EFBFBD>
WIN32ƽ̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD> I64u/I64d. <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD><CAB9> acl_vstring_sprintf() ʱ<><CAB1>ֻ<EFBFBD><D6BB>Ҫ
ʹ<EFBFBD><EFBFBD>ͳһ<EFBFBD><EFBFBD> llu/lld <20><><EFBFBD><EFBFBD>
302.2) feature: acl_getenv_list() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>̵Ļ<CCB5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
<EFBFBD><EFBFBD>ʾ, <20><>: name1=value1, name2=value2, name3=value3)
301) 2009.11.30--12.2
301.1) feature: acl_vstream_popen.c <20><><EFBFBD><EFBFBD>ͬʱ֧<CAB1><D6A7>UNIX<49><58>WIN32ƽ̨<C6BD><CCA8>
301.2) feature: acl_env.c <20><><EFBFBD><EFBFBD>ͬʱ֧<CAB1><D6A7>UNIX<49><58>WIN32ƽ̨
300) 2009.11.27
300.1) feature: acl_sane_inet.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_ipv4_addr_valid()/1,
acl_ipv4_valid()/1 <20><><EFBFBD><EFBFBD>, <20>ñ<EFBFBD><C3B1>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
300.2) acl_aio_connect.c: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ч<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>жϹ<D0B6><CFB9><EFBFBD>
299) 2009.11.25
299.1) bugfix: acl_aio.c, acl_aio_iocp_close()/1 <20><> astream->stream = NULL ʱ,
Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_AIO_FLAG_IOCP_CLOSE <20><>־λ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
298) 2009.11.24
298.1) acl_sane_socket.c: <20><><EFBFBD><EFBFBD> acl_getsockname/acl_getpeername ȡ<>õ<EFBFBD>ַʱ<D6B7><CAB1><EFBFBD>˿<EFBFBD>
<EFBFBD><EFBFBD>Ҳ<EFBFBD>ӽ<EFBFBD>ȥ<EFBFBD><EFBFBD>
297) 2009.11.23
297) ACL_ITER: <20><><EFBFBD><EFBFBD>ͨ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľӿڷ<D3BF><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD> const <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
Ӧ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĶ<EFBFBD><EFBFBD><EFBFBD>
297.2) acl_fifo.c: <20><><EFBFBD><EFBFBD> acl_fifo_push()/2 <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>Ԫ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>
296) 2009.11.22
296.1) bugfix: strcasestr.c, acl_strcasestr()/2 <20><><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD> bug
296.2) feature: acl_inet_listen.c, acl_inet_accept_ex <20>д洢<D0B4>ͻ<EFBFBD><CDBB>˵<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
ipbuf ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD>洢 IP <20><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>ͬʱ<CDAC><EFBFBD>˿ں<CBBF><DABA>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ipbuf <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ip:port, <20><>: 192.168.0.1:80
295) 2009.11.20
295.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_dll.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dll ֮<><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
295.2) acl_debug_malloc.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>½ӿڵ<D3BF><DAB5><EFBFBD>
295.3) bugfix: acl_aio_read.c, acl_aio_write.c,
READ_IOCP_CLOSE/WRITE_IOCP_CLOSE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>־λ ACL_AIO_FLAG_IOCP_CLOSE
294) 2009.11.19
294.1) bugfix: acl_inet_listen.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD>
294.2) bugfix: events_select_thr.c, event_enable_listen() <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><CAB9>
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊû<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM.fdp, <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD> event_enable_listen() <20><><EFBFBD><EFBFBD>
һ<EFBFBD>ξͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> event_fdtable_alloc(), <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶. <20><> bug <20><>Ӱ<EFBFBD>
acl_ioctl.c, acl_ioctl_server.c <20><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶. <20>ϰ汾<CFB0><E6B1BE> acl <20><> acl_master
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĶ<EFBFBD><EFBFBD>߳<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> acl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򣬻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD> ioctl_event_mode ѡ<><D1A1><EFBFBD><EFBFBD>Ϊ poll/kernel <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Ϊ
<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD> select <20><><EFBFBD>̷߳<DFB3>ʽ.
293) 2009.11.16-18
293.1) acl_msgio: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2>޸<EFBFBD><DEB8><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
293.2) bugfix: master/template/ Ŀ¼<C4BF>£<EFBFBD>acl_aio_server.c, aio_msg.c <20><><EFBFBD><EFBFBD>һЩ
<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD> bug
292) 2009.11.15
292.1) ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pid_t pid <20><>Ա
291) 2009.11.13
291.1) compile: <20><> Debian Linux ƽ̨<C6BD>±<EFBFBD><C2B1><EFBFBD>ͨ<EFBFBD><CDA8>
290) 2009.11.12
290.1) samples: win32 -- code_map, <20><>Ҫ<EFBFBD><D2AA><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>
290.2) samples: win32 -- connect, <20><EFBFBD><ECB2BD><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD>
290.3) acl_aio: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩʹ<D0A9>ýӿڣ<D3BF>ͬʱ<CDAC><CAB1> ACL_ITER <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EBA3AC><CAB9><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
289) 2009.11.10
289.1) feature: acl_file <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_fprintf, acl_vfprintf
289.2) feature: code/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GBK<42>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: acl_gbcode
289.3) samples: jt2ft <20><><EFBFBD>ڲ<EFBFBD><DAB2>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
288) 2009.10.26
288.1) feature: acl_vstring <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_buffer_gets_nonl()/3,
acl_buffer_gets()/3; stdlib/common/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_token_tree ģ<><C4A3>
288.2) compile: <20><> LINUX/FREEBSD/SOLARIS/WIN32 ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
287) 2009.10.20
287.1) bugfix: acl_bits_map.h <20>е<EFBFBD> nmax Ϊ (unsigned int) -1 ʱ<><CAB1><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
(mask)->data_len = 0, <20><>Ϊ<EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><E3B3A4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; acl_bits_map.h
<EFBFBD><EFBFBD>ע<EFBFBD>Ͳ<EFBFBD>̫<EFBFBD><EFBFBD>ȷ
287.2) compile: <20><> FreeBSD, Solaris, Windows <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
286) 2009.10.18
286.1) bugfix: ACL_CFG_INT64_TABLE.*target Ӧ<><D3A6>Ϊ acl_int64 <20><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD> int <20><><EFBFBD><EFBFBD>
286.2) compile: <20><><EFBFBD><EFBFBD>VC<56><43><EFBFBD>붯̬<EBB6AF><CCAC>ʱ<EFBFBD><CAB1>lib_acl <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> IPHlpApi.Lib
285) 2009.9.30
285.1) feature: acl_xinetd_params.c/acl_xinetd_params.h, acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_int64 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>֧<EFBFBD><D6A7>
285.2) bugfix: zdb/zdb_private.h, <20><><EFBFBD><EFBFBD> KEY_INODE, KEY_OFF <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
284) 2009.9.29
284.1) bugfix: acl_fhandle.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬Ӧ<E2A3AC><D3A6><EFBFBD><EFBFBD>
acl_thread_mutex_lock/acl_thread_mutex_unlock,
acl_pthread_mutex_lock/acl_pthread_mutex_unlock <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD>һЩ<D2BB>ط<EFBFBD><D8B7><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
284.2) zdb: zdb.h <20><EFBFBD><EFBFBD>涨Ϊ4<CEAA>ֽڶ<D6BD><DAB6><EFBFBD>
284.3) acl_cache.c: <20><><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ0
283) 2009.9.27
283.1) bugfix: acl_non_blocking() <20>ڲ<EFBFBD><DAB2><EFBFBD>BSDƽ̨<C6BD>¿<EFBFBD><C2BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
282) 2009.9.25
282.1) zdb: Ϊ<>˱<EFBFBD>֤ zdb <20><><EFBFBD>ݽṹ<DDBD><E1B9B9>32λ<32><CEBB>64λ<34><CEBB><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>ֲ<EFBFBD><D6B2>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ֽڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
282.2) acl_slice: <20>Ż<EFBFBD><C5BB><EFBFBD> SLICE2 <20><>ʽ<EFBFBD><CABD><EFBFBD>ͷ<EFBFBD><CDB7>ٶ<EFBFBD>
281) 2009.9.24
281.1) bugfix: acl_slice.c <20>е<EFBFBD> ACL_SLICE_FLAG_GC2 <20><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BUG, <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ָ<EFBFBD><D6B8>Խ<EFBFBD><D4BD>
280) 2009.9.23
280.1) feature: zdb_key.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> zdb_key_init()/3 <20>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD>ʹӦ<CAB9><D3A6>Ԥ<EFBFBD>ȳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>
280.2) <20><> win32 ƽ̨<C6BD>µ<EFBFBD> BDB, OPENSSL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ
279) 2009.9.21
279.1) feature: db/zdb, <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC>洢ϵͳ
279.2) bugfix: stdlib/sys/acl_sys_file.c, acl_file_fsize()/1 <20><>win32ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
278) 2009.9.20
278.1) feature: net/acl_ifconf.c, <20><><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>UNIX/WIN32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
277) 2009.9.15
277.1) bugfix: acl_cache.c, acl_cache_free()/1 <20><><EFBFBD>ͷŻ<CDB7><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20><><EFBFBD>޷<EFBFBD><DEB7>ͷŶ<CDB7><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD> 0
277.2) feature: acl_vbuf_print.c, ֧<><D6A7> "%lld" <20><>ʽ<EFBFBD><CABD><EFBFBD>Ӷ<EFBFBD> acl_vstring.c Ҳ֧<D2B2><D6A7>
"%lld" <20><>ʽ
276) 2009.9.11
276.1) feature: event/acl_timer.c ֧<><D6A7>ͨ<EFBFBD>õ<EFBFBD> ACL_ITER <20><><EFBFBD><EFBFBD>
276.2) feature: ACL_ITER ֧<><D6A7> acl_iter_info()/2 ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
275) 2009.9.10
275.1) feature: ACL_DNS_DB <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> ACL_ITER <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
275.2) acl_fhandle.c: acl_fhandle_init()/3 <20><> acl_fhandle_end() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
274) 2009.9.9
274.1) comment: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩע<D0A9><D7A2>
274.2) acl_mask_addr.c: <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>, unit_test/net/test_net_misc.c
273) 2009.9.8
273) feature: db/acl_dbsql.c, db/mysql/acl_dbmysql.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_dbmysql_select()/3, acl_dbmysql_free_result()/1, db/acl_dbpool.h <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_SQL_RES <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ͨ<EFBFBD>õ<EFBFBD> ACL_ITER <20>Բ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>
272) 2009.9.7
272.1) acl_iterator.h: ACL_ITER <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD> dlen, ʹ<><CAB9><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
271) 2009.9.5
271.1) acl_iterator.h: ȥ<><C8A5><EFBFBD><EFBFBD> ACL_ITER <20>е<EFBFBD> iter_init()/2, <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> iter_head()/2, iter_next()/2, iter_tail()/2, iter_prev()/2 <20>ĸ<EFBFBD><C4B8><EFBFBD>Ա<EFBFBD><D4B1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD>֧<EFBFBD><EFBFBD>ͨ<EFBFBD>õı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ֻҪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> iter_head()/2, iter_next()/2 <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
iter_tail()/2, iter_prev()/2 <20><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
270) 2009.9.1
270.1) bugfix: acl_fhandle.c <20><> acl_fhandle_open <20><>ʧ<EFBFBD><CAA7><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣʱ<CFA2><CAB1><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ַ
270.2) bugfix: acl_fseek()/3 û<><C3BB><EFBFBD><EFBFBD> acl_file.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
269) 2009.8.31
269.1) feature: acl_file.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_fseek()/3 <20>ӿ<EFBFBD>
268) 2009.8.30
268.1) feature: stdlib/acl_file.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ķ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>, <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD>
ANSI <20><>׼<EFBFBD><D7BC><EFBFBD>ƵĽӿ<C4BD>
267) 2009.8.29
267.1) <20><> ACL_ASTREAM <20><><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD>, <20><>Ϊ
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊػ<EFBFBD><EFBFBD><EFBFBD>Ҫʵ<EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>ýṹ<EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽϺã<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
266) 2009.8.28
266.1) feature: acl_iterator.h, <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>˸<EFBFBD>Ϊͨ<CEAA>õĵ<C3B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
stdlib/common/ <20><><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Էdz<D4B7><C7B3>򵥵ķ<F2B5A5B5>ʽ<EFBFBD>ô<EFBFBD>ͨ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
266.2) sample: iterator/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺ܶ<CBBA>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
265) 2009.8.27
265.1) feature: acl_fhandle.c, acl_fhandle_open()/6 <20>еIJ<D0B5><C4B2><EFBFBD> oflags <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>־λ
ACL_FHANDLE_O_MKDIR <20><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD>Ƿ<EFBFBD><C7B7>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><E9B2A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øñ<C3B8>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>һ<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD><EFBFBD>
265.2) acl_htable/acl_binhash: <20>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ɵ<EFBFBD> foreach() <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3BA><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ break <20>򲻻<EFBFBD><F2B2BBBB>˳<EFBFBD>ѭ<EFBFBD><D1AD>, ԭ<><D4AD><EFBFBD>Ǿɵ<C7BE> foreach() <20><>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> for() ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xxx_iter_head/acl_xxx_iter_next/acl_xxx_iter_tail/acl_xxx_iter_prev
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> foreach() <20>ͽ<EFBFBD>Ƕ<EFBFBD><C7B6>һ<EFBFBD><D2BB> for() ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> break ѭ<><D1AD>
264) 2009.8.26
264.1) bugfix: acl_fhandle.c, acl_fhandle_end() <20>ڹر<DAB9><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ǰӦ<C7B0><D3A6>
<EFBFBD>ص<EFBFBD>Ӧ<EFBFBD>õĹرջص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
264.2) acl_cache.c: <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> acl_cache_create() ʱ<><CAB1> free_fn <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>,
ֻ<EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> free_fn Ϊ<><CEAA>
264.3) feature: acl_fhandle.c, acl_fhandle_init() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>;
ͬʱ acl_fhandle_open() <20><> oflags Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ı<EFBFBD>־λ ACL_FHANDLE_O_MLOCK
263) 2009.8.24
263.1) acl_lseek: ֧<><D6A7> Linux/Solaris ƽ̨<C6BD>µ<EFBFBD>64λ<34><CEBB><EFBFBD><EFBFBD>
263.2) bugfix: acl_fhandle.c <20>ڼ<EFBFBD>¼<EFBFBD><C2BC>־ʱ<D6BE><CAB1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
262) 2009.8.23
262.1) acl_mystring.c: acl_ui64toa_radix() <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB>WIN32<33>Ķ<EFBFBD><C4B6><EFBFBD>
262.2) db/memdb: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>Чʹ<D0A7>õĵط<C4B5>
261) 2009.8.20
261.1) acl_slice: <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD> bug; acl_slice_free()/1 ֧<><D6A7> ACL_SLICE_FLAG_GC2,
ACL_SLICE_FLAG_GC3 <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>ͷ<EFBFBD>, <20><> acl_slice_free2()/2 <20><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŲ<CDB7><C5B2><EFBFBD>
260) 2009.8.19
260.1) bugfix: acl_slice ȥ<><C8A5><EFBFBD><EFBFBD> ACL_SLICE_FLAG_GC_TIME2 <20><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD>ݵ<EFBFBD>
259) 2009.8.17--8.18
259.1) feature: stdlib/memory/acl_slice.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_SLICE_FLAG_LP64_ALIGN,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>64λ<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڶ<EFBFBD><EFBFBD><EFBFBD>;
259.2) <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ľ<EFBFBD><C4BD>ĵط<C4B5>: acl_slice.c <20>е<EFBFBD> ACL_SLICE_FLAG_MIN_TIME3 <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ʡ
<EFBFBD>ĸĽ<EFBFBD><EFBFBD>ռ<EFBFBD>, <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>64λƽ̨<C6BD>Ͻ<EFBFBD>ռ8<D5BC><38><EFBFBD>ֽڵ<D6BD>ָ<EFBFBD><D6B8>ת<EFBFBD><D7AA>Ϊռ4<D5BC><34><EFBFBD>ֽڵ<D6BD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
10240000 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ֿ<EFBFBD><D6BF>Խ<EFBFBD>ʡ39MB
258) 2009.8.12
258.1) feature: stdlib/memory/acl_slice.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>µ<EFBFBD><C2B5>ڴ<EFBFBD><DAB4><EFBFBD>Ƭ<EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ч<EFBFBD>ʸ<EFBFBD><EFBFBD>ߣ<EFBFBD>ͬʱ<EFBFBD>ڴ<EFBFBD>ռ<EFBFBD>ø<EFBFBD>С
258.2) feature: acl_mystring.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_i64toa_radix()/4, acl_ui64toa_radix()/4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ʱָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>LINUX<EFBFBD>²<EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>Ч<EFBFBD>ʻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> snprintf
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>:)
258.3) stdlib/ Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>йص<D0B9>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdlib/memory/ Ŀ¼<C4BF><C2BC>
257) 2009.8.10
257.1) feature: stdlib/acl_fhandle.c, <20><><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򿪵<EFBFBD><F2BFAAB5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
256) 2009.8.7
256.1) bugfix: acl_vstream.c, <20><>Ϊ<EFBFBD><CEAA> ACL_VSTREAM.path <20><>Ϊ
ACL_VSTREAM.remote_addr <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD> acl_vstream_free()/1 <20>ڲ<EFBFBD><DAB2>ͷ<EFBFBD>
path <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD> ACL_VSTREAM.path <20><><EFBFBD><EFBFBD>Ϊ const char*, <20>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ͷ<EFBFBD>, <20><>
bug Ӱ<><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> acl_vstream_free()/1 <20>ĵط<C4B5>
<EFBFBD><EFBFBD>: acl_master/framework/master_spawn.c: acl_master_spawn()->acl_vstream_free()/1,
255) 2009.8.6
255.1) acl_ring, acl_htable, acl_binhash, acl_fifo: ͳһ<CDB3>˱<EFBFBD><CBB1><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7>ʷ<EFBFBD>ʽ,
ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
255.2) acl_ring: ȥ<><C8A5><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>õ<EFBFBD><C3B5>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD>
254) 2009.8.3
254.1) stdlib: acl_htable/acl_binhash/acl_fifo/acl_ring, ͳһ<CDB3>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>ʽ
253) 2009.7.31
253.1) stdlib: acl_htable.c, acl_binhash.c, acl_cache.c, acl_btree.c <20>ڲ<EFBFBD><DAB2><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_slice_xxx <20><><EFBFBD><EFBFBD>
253.2) private: ȥ<><C8A5><EFBFBD><EFBFBD> htable.c, binhash.c
253.3) db/memdb: <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>˽<EFBFBD>е<EFBFBD> htable.c, binhash.c, <20><>Ϊ acl_htable.c,
acl_binhash.c Ҳ֧<D2B2><D6A7><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>Ƭ, <20><><EFBFBD><EFBFBD> memdb/ <20>µĺ<C2B5><C4BA><EFBFBD>ֱ<EFBFBD><D6B1>ʹ<EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD> acl_htable.c,
acl_binhash.c.
253.4) <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> acl_htable.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľӿڲ<D3BF>һ<EFBFBD>µĵط<C4B5>
252) 2009.7.28
252.1) stdlib/acl_slice: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7A8>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ч<EFBFBD>ʸ<EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>Ψһ<EFBFBD><EFBFBD>ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>΢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ڴ棬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD>΢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:)
251) 2009.7.26
251.1) private: <20><><EFBFBD>Ӹ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ϊ<EFBFBD><CEAA> lib_acl <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>õ<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
251.2) <20><> stdlib/debug/ <20>µ<EFBFBD> debug_htable.c <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ǰ׺<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µı<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
251.3) <20><> VC6 <20>±<EFBFBD><C2B1><EFBFBD>ͨ<EFBFBD><CDA8>
250) 2009.7.24
250.1) stdlib/acl_slice: <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>BUG:)
Ϊ<EFBFBD>˱<EFBFBD>֤ acl_slice <20><>ͨ<EFBFBD><CDA8><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˱<EFBFBD>֤<EFBFBD><D6A4>64λ<34><CEBB><EFBFBD><EFBFBD> AVL ʹ<><CAB9> acl_slice
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ڲ<EFBFBD><DAB2>ڴ<EFBFBD>Ƭ<EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
250.2) lib_acl <20>Ѿ<EFBFBD><D1BE><EFBFBD> Redhat AS4/AS5(32/64), FreeBSD, VC2003/VC2008 <20>ϱ<EFBFBD><CFB1><EFBFBD><EBB2A2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
249) 2009.7.22
249.1) stdlib/acl_slice: <20><><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>ڴ<EFBFBD>Ƭ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5>ڴ<EFBFBD>
<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ʱ<EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>Ƭ
248) 2009.7.18
248.1) db/memdb: <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ܣ<EFBFBD>Ŀǰ<C4BF><C7B0><EFBFBD>ڸÿ<DAB8><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>
<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>SUN<55><4E>avl<76><6C>)
248.2) samples/memdb: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
247) 2009.7.3
247.1) acl_vstream: ACL_VSTREAM <20><EFBFBD><E1B9B9>ȥ<EFBFBD><C8A5><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD> rw_arg, ͬʱ<CDAC><CAB1>
ACL_VSTREAM_CTL_RW_ARG ɾ<><C9BE>, <20><> ACL_VSTREAM_CTL_CACHE_SEEK <20><>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> 8 <20><>Ϊ 7,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM_CTL_CONTEXT <20><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD> ACL_VSTREAM_CTL_CTX; acl_vstream.c
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rw_arg <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ context.
246) 2009.6.30
246.1) aio/, ioctl/, master/template/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_EVENT <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
246.2) master/template/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD> pre_init()
ǰ, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>û<EFBFBD><C3BB><EFBFBD> ACL_EVENT <20><><EFBFBD><EFBFBD>
245) 2009.6.27
245.1) acl_vstream: IO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD> timeout <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
244) 2009.6.26
244.1) acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õĺ<C3B5><C4BA><EFBFBD>, ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
243) 2009.6.23
243.1) bugfix: acl_ioctl_app_main.c, acl_aio_app_main.c <20>е<EFBFBD>
__deny_info û<><C3BB><EFBFBD>ȸ<EFBFBD><C8B8><EFBFBD>ʼֵ<CABC><D6B5><EFBFBD><EFBFBD><E1B5BC> coredump
243.2) ȥ<><C8A5><EFBFBD><EFBFBD> acl_define_unix.h, acl_define_linux.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
<EFBFBD>ļ<EFBFBD>, <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ʱ<EFBFBD><CAB1>ͻ, <20><>: pthread_spinlock_t <20><>Ҫ<EFBFBD><D2AA><EFBFBD>ͱȽ<CDB1><C8BD>ϸ<EFBFBD>
243.3) performance:
a) linux ƽ̨:
<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ pthread_spinlock_t <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȴ<D9B6>Լ<EFBFBD><D4BC> pthread_mutex_t <20><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
˫<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ pthread_spinlock_t <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȴ<D9B6>Լ<EFBFBD><D4BC> 2-3<><33>
b) FreeBsd ƽ̨:
˫<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ pthread_spinlock_t <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȴ<D9B6>Լ<EFBFBD><D4BC> 7-8<><38>
242) 2009.6.22
242.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ͷŵ<CDB7><C5B5>ڴ<EFBFBD><DAB4>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD> acl_dbuf_pool.c
242.2) feature: acl_pthread_mutex.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>Ƕ<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
acl_thread_mutex_lock()/1, acl_thread_mutex_unlock()/2,
acl_thread_mutex_nested()/1, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>̶߳<DFB3>ijһ<C4B3>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
242.3) feature: src/master/template, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_ioctl_app_main.c,
acl_aio_app_main.c, <20><><EFBFBD>Ը<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
241) 2009.6.19
241.1) samples/cache/main.c: <20><> bsd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE><EFBFBD>
240) 2009.6.16
240.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gc <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
240.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ȽϺ<C8BD><CFBA><EFBFBD>: strrncasecmp()/3, strrncmp()/3
239) 2009.5.12
239.1) bugfix: stdlib/common/acl_array.c, acl_array_clean()/2 <20><><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
Ϊ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
238) 2009.4.28
238.1) feature: stdlib/common/acl_cache.c, <20><><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>
<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
238.2) samples: samples/cache/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
237) 2009.4.23
237.1) feature: acl_ring.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_RING_FIRST()/1, ACL_RING_LAST()/1,
ACL_RING_LAST_APPL()/3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĺ<C3B5>; ͬʱ<CDAC><CAB1> ACL_FIRST_APPL()/3 <20><><EFBFBD><EFBFBD>Ϊ
ACL_RING_FIRST_APPL()/3
237.2) feature: acl_xinetd_params.c <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_xinetd_params_int_table()/2, acl_xinetd_params_bool_table()/2,
acl_xinetd_params_str_table()/2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> cfg <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>½<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD>
236) 2009.4.21
236.1) feature: acl_timer.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_timer_walk()/3, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD> ACL_TIMER_INFO <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_timer.h <20>ļ<EFBFBD><C4BC><EFBFBD>
226.2) bugfix: acl_timer.c <20>е<EFBFBD> acl_timer_free()/1 <20><><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD><EFBFBD><E2A3AC><EFBFBD>ڸ<EFBFBD>
<EFBFBD><EFBFBD>Ϊ acl_timer_free()/2, <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
226.3) feature: acl_timer.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_timer_size()/1 <20><><EFBFBD>Ի<EFBFBD><D4BB>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
235) 2009.4.20
235.1) bugfix: win32 ƽ̨<C6BD>µ<EFBFBD> acl_pthread_cond_timedwait()/3 ʵ<>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>
Posix <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>ʱֵӦ<D6B5><D3A6><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>: acl_pthread_cond.c, acl_pthread_pool.c, acl_aqueue.c
acl_workq.c<><63><EFBFBD><EFBFBD>BUG<55>ɻ<EFBFBD><C9BB>ȷ<EFBFBD><C8B7>֡<EFBFBD>
234) 2009.4.19
234.1) bugfix: getimeofday()/2, <20>ú<EFBFBD><C3BA><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD>»<EFBFBD><C2BB>þ<EFBFBD>ȷʱ<C8B7><CAB1><EFBFBD>Ĺ<EFBFBD><C4B9>ܣ<EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD>ʱ<EFBFBD><EFBFBD>ʱ<EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD>ʼ<EFBFBD><EFBFBD>ʱ
<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD>Ĺ<EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
233) 2009.4.14
233.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ȫ·<C8AB><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>:
acl_process_path(), acl_getcwd(), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>: win32, Linux/FreeBsd/Solaris
233.2) samples: process/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
233.3) <20><> stdlib/ Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sys/ Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>صij<D8B5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><C2BC>
233.4) acl_argv_split.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_argv_splitn()/3, acl_argv_splitn_append()/4
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
232) 2009.4.9
232.1) acl_sys_patch.c: ԭ<><D4AD><EFBFBD><EFBFBD> win32 ƽ̨<C6BD>µ<EFBFBD> gettimeofday()/2 ʵ<>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
win32 API "GetSystemTimeAsFileTime"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> API <20>ľ<EFBFBD><C4BE>Ȳ<EFBFBD><C8B2><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>
win32 ƽ̨<C6BD>µ<EFBFBD> gettimeofday <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GetSystemTimeAsFileTime <20><>ϵͳ
<EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD>ʹ gettimeofday <20><><EFBFBD>õ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD>ϸ
231) 2009.4.7
231.1) events: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event_prepare()/1, event_fire()/1,
event_thr_prepare()/1, event_thr_fire()/1 <20>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
230) 2009.4.3
230.1) bugfix: ACL_VSTREAM <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>ӦΪ unsigned char*,
ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ char*, <20><>ijЩ<C4B3><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B5BC>ʹ<EFBFBD>øýṹ<C3BD><E1B9B9>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>:
ACL_VSTREAM_GETC/acl_vstream_getc, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ֵΪ ACL_VSTREAM_EOF
<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM->read_buf,
read_ptr ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(char*) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>к<EFBFBD><D0BA><EFBFBD> (char) -1, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int ch = ACL_VSTREAM_GETC(stream)/int ch = acl_vstream_getc(stream) <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> ch = -1 (<28><><EFBFBD><EFBFBD> char <20><><EFBFBD><EFBFBD>Ϊ int <20><><EFBFBD><EFBFBD>ȻΪ -1), <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4> (char)-1 <20><>ʵΪ
(unsigned char) 255, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ int <20><><EFBFBD><EFBFBD>ȻΪ 255.
230.2) aio: <20><><EFBFBD><EFBFBD>һЩ<D2BB><D0A9>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
229) 2009.4.2
229.1) acl_set_error()/1: <20><>WIN32ƽ̨<C6BD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<50>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ţ<EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>׼C
<EFBFBD><EFBFBD> errno <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
229.2) bugfix: acl_vstring_strstr/acl_vstring_strcasestr/strcasestr <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>bug, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²鲻<C2B2><E9B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
229.3) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstring_rstrstr/acl_vstring_rstrcasestr,
acl_rstrstr/acl_rstrcasestr <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD>شӺ<D8B4><D3BA><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
228) 2009.4.1
228.1) net/connect/acl_timed_connect.c: <20>޸<EFBFBD><DEB8><EFBFBD>һ<EFBFBD><D2BB>Сbug, û<>г<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> err
228.2) net/connect: getsockopt <20>ڲ<EFBFBD>ͬƽ̨<C6BD><CCA8><EFBFBD>в<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʱ<EFBFBD>Ƚ<EFBFBD><EFBFBD>鷳Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Solaris <20>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> getsockopt ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ֵ<EFBFBD><D6B5>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>ȫ<EFBFBD>ֵ<EFBFBD> errno <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>ֵ<EFBFBD>״̬; <20><> Linux <20>ϣ<EFBFBD><CFA3>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>errno
ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ EINPROGRESS, <20><>Ҫͨ<D2AA><CDA8> getsockopt <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ж<EFBFBD>; <20><> win32ƽ̨
<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>ʱ<EFBFBD><EFBFBD>ȴ<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
getsockopt <20>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0, <20><><EFBFBD>ҽ<EFBFBD>ȫ<EFBFBD>ֵĴ<D6B5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0. Ϊ<>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD>Щƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><ECA3AC>Ҫ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> connect ֮<><D6AE><EFBFBD><EFBFBD> errno <20>ţ<EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD> getsockopt <20><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>.
227) 2009.3.30
227.1) event: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> poll <20><>֧<EFBFBD><D6A7>
227.2) aio: <20>޸<EFBFBD><DEB8>˲<EFBFBD><CBB2>ֽӿ<D6BD>
227.3) net/connect: <20>޸<EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD>BUG
226) 2009.3.11
226.1) acl_vstream_accept_ex()/4: <20><>һ<EFBFBD><D2BB>BUG<55><47><EFBFBD>׽<EFBFBD><D7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ȡ stream->type
226.2) samples: msg/, <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>TCP<43>׽ӿڡ<D3BF>UNIX<49><58><EFBFBD>׽ӿڡ<D3BF><DAA1>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD> Linux ƽ̨<C6BD><CCA8> <20><><EFBFBD><EFBFBD>UNIX<49><58><EFBFBD>׽ӿ<D7BD><D3BF><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><DCB6>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>ܵ<EFBFBD><DCB5><EFBFBD>֮<EFBFBD><D6AE>
TCP<EFBFBD>׽ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 226.3) samples: dns/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DNS<4E><53><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>; <20><> FreeBSD <20><><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD>У<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD> <20><EFBFBD><ECB2BD><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD>ؿ죬<D8BF><ECA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD>3-4<><34>; <20><> Solaris10-x86ƽ̨<C6BD>£<EFBFBD>
<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD>1.5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Linux ƽ̨<C6BD>µ<EFBFBD><C2B5>̻߳<DFB3><CCBB>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>:)
225) 2009.3.10
225.1) event: kqueue <20><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>; <20>޸<EFBFBD><DEB8><EFBFBD> events_kernel.c <20>еļ<D0B5><C4BC><EFBFBD> bug
225.2) samples/aio: <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Linux/Solaris/FreeBSD <20><><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
224) 2009.3.9
224.1) event: ֧<><D6A7> FreeBSD ƽ̨<C6BD>µ<EFBFBD> kqueue
224.2) samepls/aio: <20>й<EFBFBD>AIO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
223) 2009.3.6
223.1) feature: acl_vstream.c, acl_vstream_fopen()/4 <20><><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD><CCA8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> oflags <20><><EFBFBD><EFBFBD> O_BINARY <20><>־
223.2) feature: acl_vstream.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_fstat()/2 <20><>
acl_vstream_fsize()/1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>С
223.3) feature: acl_msg.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_last_serror()/0 <20><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ͬʱ<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̰߳<EFBFBD>ȫ<EFBFBD><EFBFBD>
223.4) feature: acl_vstream.c, <20><><EFBFBD><EFBFBD> acl_vstream_fsync()/1, <20><><EFBFBD>Խ<EFBFBD><D4BD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD>
223.5) acl_file_fstat()/2: ֧<><D6A7>WIN32ƽ̨
223.6) <20><> acl_sys_patch.c <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>: acl_sys_patch.c, acl_sys_file.c
<EFBFBD><EFBFBD> acl_sys_socket.c
223.7) acl_pthread_pool.c: <20><><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>10<31><30>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E8B1A8>
222) 2009.3.5
222.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_file_size()/1, acl_file_fsize()/1 <20><><EFBFBD><EFBFBD>
222.2) <20><> acl_stat_t <20><> typedef <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD>ͣ<EFBFBD>
ֻ<EFBFBD><EFBFBD>Ҫֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"acl_stat_t sbuf;" <20><><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD>ȻҲ<C8BB><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
"struct acl_stat sbuf;"
222.3) featur: acl_vstream_fflush()/1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ա<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>д<EFBFBD><D0B4>Ӳ<EFBFBD>̣<EFBFBD>
<EFBFBD><EFBFBD>WIN32ƽ̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>Ҫ
221) 2009.3.4
221.1) event: ֧<><D6A7> Solaris ƽ̨<C6BD>µ<EFBFBD> /dev/poll
220) 2009.3.3
220.1) event: <20>޸<EFBFBD><DEB8><EFBFBD> events_kernel.c, events_select.c <20>е<EFBFBD>һ<EFBFBD><D2BB>bug
220.2) master/template: acl_aio_server.c ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket <20>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>
219) 2009.3.2
219.1) event: <20><>һ<EFBFBD><D2BB><EFBFBD>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD>BUG<55><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>
218) 2009.3.1
218.1) event: events_select, events_kernel, <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD>BUG
217) 2009.2.28
217.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> epoll, devpoll <20><>֧<EFBFBD>֣<EFBFBD>ͬʱ<CDAC>޸<EFBFBD><DEB8><EFBFBD> event <20>е<EFBFBD>һЩBUG
216) 2009.2.17-2009.2.26
216.1) <20><> engine Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>Ϊ event; <20><><EFBFBD><EFBFBD>д<EFBFBD><D0B4> event <20>¼<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD>ĵײ<C4B5><D7B2><EFBFBD><EFBFBD>ܣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> nginx <20><><EFBFBD>й<EFBFBD><D0B9>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ, ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> postfix ԭ<><D4AD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ʹ<EFBFBD>¼<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʸ<EFBFBD><EFBFBD>ߣ<EFBFBD>ͬʱ<EFBFBD><EFBFBD>չ<EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>.
(Ŀǰ<C4BF><C7B0>֧<EFBFBD><D6A7> select <20><>ʽ<EFBFBD><CABD><EFBFBD>ܿ콫<DCBF><ECBDAB>֧<EFBFBD><D6A7> epoll, poll, kqueue, devpoll)
216.2) aio: ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>ʹ<EFBFBD>õĹ<C3B5><C4B9><EFBFBD>
215) 2009.2.16
215.1) acl_aio_server.c: <20>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ͨ<EFBFBD>Ż<EFBFBD><C5BB>ƣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷdz<EFBFBD>Ƶ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ͨ<EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>ִ<EFBFBD><EFBFBD>Ч<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><>ͨ<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
215.2) Makefile: ֧<><D6A7> make -j n <20><>ʽ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>(n <20><>ʾCPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Makefile
<EFBFBD>Զ<EFBFBD>ʶ<EFBFBD>𣩣<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
214) 2009.2.12
214.1) <20><>WIN32ƽ̨<C6BD>½<EFBFBD> acl_project/unit_test/ <20>ĵ<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ACL<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
213) 2009.2.11
213.1) net/connect/acl_inet_connect: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>̵<EFBFBD>ַʱ<D6B7><CAB1><EFBFBD><EFBFBD><EFBFBD>԰󶨱<D4B0><F3B6A8B1><EFBFBD><EFBFBD><EFBFBD>
ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
213.2) include/master/acl_master_type.h: ACL_CONFIG_INT_TABLE,
ACL_CONFIG_STR_TABLE, ACL_CONFIG_BOOL_TABLE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
stdlib/acl_xinetd_cfg.h <20>еĽṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
212) 2009.1.18-2009.1.19
212.1) feature: acl_pthread.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_atexit_add()/2,
acl_pthread_atexit_remove()/2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>߳̿<DFB3><CCBF><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C9BE><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>˳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ֲ߳̾<CCBE>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>
212.2) <20>޸<EFBFBD><DEB8><EFBFBD> thread/ Ŀ¼<C4BF><C2BC>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>/<2F>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>õײ<C3B5><D7B2>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(acl_default_xxx), <20><><EFBFBD>Ǹ<EFBFBD>Ϊ<EFBFBD><CEAA>ͨ<EFBFBD>õ<EFBFBD><C3B5>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD> acl_myxxx() <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>
ͬʱ<EFBFBD><EFBFBD> stdlib/ Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> local/ ģ<><EFBFBD><E9A3AC><EFBFBD><EFBFBD>ACL<43><4C><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD><CAB9>
212.3) samples: thread_pool/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2>Թ<EFBFBD><D4B9><EFBFBD>
211) 2009.1.13
211.1) acl_myflock: ͳһ<CDB3><D2BB><EFBFBD><EFBFBD>UNIX/WIN32ƽ̨<C6BD>½ӿڵ<D3BF><DAB5>õķ<C3B5>ʽ
211.2) proctl: ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> lockfile.c, lockfile.h, <20><><EFBFBD>޸<EFBFBD><DEB8>˵<EFBFBD><CBB5><EFBFBD>
acl_myflock()/3 <20>IJ<EFBFBD><C4B2><EFBFBD>
211.3) acl_mystring: <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
210) 2009.1.12
210.1) acl_vstream: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM <20><EFBFBD>е<EFBFBD>ijЩ<C4B3><D0A9><EFBFBD>õij<C3B5>Ա
ȥ<EFBFBD><EFBFBD>
210.2) acl_aio_server, acl_ioctl_server, acl_single_server, acl_multi_server,
<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ý<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>
209) 2009.1.10
209.1) acl_vstream: <20>ı<EFBFBD> acl_vstream_getc()/2 Ϊ acl_vstream_getc()/1,
ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM_GETC()/1; <20><EFBFBD>˱<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_vstream_printf()/n
209.2) acl_vstring_vstream: <20><>Ϊ acl_vstream <20><>Щ<EFBFBD>ӿڵĸı<C4B8><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>޸<EFBFBD>
208) 2009.1.9
208.1) bugfix: acl_ioctl_server.c, ԭ<><D4AD><EFBFBD><EFBFBD> acl_master <20>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>ú<EFBFBD>, <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>
ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>رռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>رշ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>رռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>¼<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>пռ䲻ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ʱ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̿ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
208.2) feature: acl_vstring_vstream.c, <20><><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD> ACL_VSTRING, ACL_VSTREAM
<EFBFBD><EFBFBD><EFBFBD>ϵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
207) 2009.1.8
207.1) feature: acl_htable <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> acl_htable_capacity() <20><>
acl_htable_size()
207.2) feature: <20><> Postfix <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD> readline.c, readline.h,
split_nameval.c <20><> acl <20><><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>Ϊ: acl_readline.c, readline.h
acl_split_nameval.c
207.3) acl_vstream: acl_vstream_fopen()/4 <20>IJ<EFBFBD><C4B2><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(rw_timeo),
<EFBFBD><EFBFBD>Ϊ4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ʲô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
changes.txt <20>ĵ<EFBFBD><C4B5>ж<EFBFBD><D0B6>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD>󽫲<EFBFBD><F3BDABB2><EFBFBD> acl_xxxx()/n, n <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
207.4) vc2003, vc2008 <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>©<EFBFBD><C2A9><EFBFBD><EFBFBD>Դ<EFBFBD>ļ<EFBFBD>:
proctl/lockfile.c, lockfile.h, stdlib/acl_meter_time.c, stdlib/acl_meter_time.h
206) 2009.1.7
206.1) feature: acl_aio_server, acl_multi_server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD>
֧<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>
206.2) acl_ioctl_server, acl_aio_server, acl_single_server,acl_multi_server
<EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>嶼֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
206.3) acl_ioctl_server, acl_aio_server, acl_multi_server: ʹ<><CAB9><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ģ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
acl_single_server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, acl_master <20><><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD> acl_master <20>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD><EFBFBD>
205) 2009.1.6
205.1) feature: acl_master <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ӽ<EFBFBD><D3BD>̱<EFBFBD><CCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
205.2) acl_master: ֧<><D6A7><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>ù<EFBFBD><C3B9>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD>ƣ<EFBFBD>Ŀǰ֧<C7B0>ָù<D6B8><C3B9>ܵ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>У<EFBFBD>
acl_ioctl_server, acl_single_server <20><><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Ҫ<EFBFBD>ٲ<EFBFBD><D9B2>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD>
204) 2009.1.4
204.1) bugfix: events_proc.c, events_thr.c <20>еĺ<D0B5><C4BA><EFBFBD> event_loop() <20>е<EFBFBD>
wait_ring, ready_ring <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿֲ<C7BE><D6B2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_event_disable_xxx
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event_fdtable_free, <20><> event_fdtable_free <20>е<EFBFBD><D0B5>ڵ<EFBFBD><DAB5>ú<EFBFBD><C3BA><EFBFBD>
acl_ring_detach ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>
event_loop() ѭ<><D1AD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>.
204.2) feature: acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:)
203) 2008.12.30
203.1) doc: ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>޸<EFBFBD><DEB8>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> doxygen ע<>͹淶<CDB9><E6B7B6>ע<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
202) 2008.12.29
202.1) feature: thread/acl_pthread_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD>̳߳صļ򵥺<C4BC><F2B5A5BA><EFBFBD>
acl_thread_pool_create
202.2) comment: acl_scan_dir.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
201) 2008.12.23
201.1) compile: acl_pthread_xxx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FreeBSD <20><> WIN32 ƽ̨<C6BD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
200) 2008.12.22
200.1) <20><>FreeBSD 6 <20>ϱ<EFBFBD><CFB1><EFBFBD>ACL<43><4C><EFBFBD><EFBFBD>
200.2) bugfix: master/template/acl_ioctl_server.c: <20><>ʹ<EFBFBD><CAB9> getopt() ǰ<><C7B0>Ϊ<EFBFBD><CEAA>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
getopt() <20>е<EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BSD<53>ϻᷢ<CFBB><E1B7A2>
200.3) compile: <20><> samples/ Ŀ¼<C4BF>µĹ<C2B5><C4B9><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
200.4) <20><> ACL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ acl_project.2.0.1
199) 2008.12.20-12.21
199.1) <20><> vc2008 <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
199.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF>VC2003<30>ı<EFBFBD><C4B1><EFBFBD><EBB9A4>
199.3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF>VC6<43>ı<EFBFBD><C4B1><EFBFBD><EBB9A4>
199.4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩͷ<D0A9>ļ<EFBFBD><C4BC><EFBFBD>ע<EFBFBD><D7A2>
199.5) thread: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳<DFB3>ģ<EFBFBD><EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5>̳߳<DFB3>ģ<EFBFBD><C4A3> (acl_workq)
198) 2008.12.12-12.16
198.1) comment: Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> doxygen <20>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
198.2) compile: <20><> Redhat AS5 <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
198.3) acl_socket_init <20><>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>UNIXƽ̨<C6BD><CCA8><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> signal(SIGPIPE, SIG_IGN)
197) 2008.12.8
197.1) feature: code/acl_urlcode.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> url <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBAAF><EFBFBD><EFBFBD>
197.2) samples: samples/urlcode/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> url <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
196) 2008.12.2
196.1) acl_vstream.c: Ϊ<>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> fseek λ<>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>ɵĸ<C9B5><C4B8><EFBFBD><EFBFBD>ã<EFBFBD><C3A3>һ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> fseek λ<>û<EFBFBD><C3BB><EFBFBD><E6A3AC><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_ctl()
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־λ ACL_VSTREAM_CTL_CACHE_SEEK <20><><EFBFBD><EFBFBD><EFB5BD>Ŀ<EFBFBD><C4BF>.
195) 2008.12.1
195.1) performance: acl_vstream.c, acl_vstream_fseek() <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
Ч<EFBFBD><EFBFBD>, ֻҪ<D6BB><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB>ڲ<EFBFBD><DAB2><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> fseek ʱ<><CAB1>ͨ<EFBFBD><CDA8><EFBFBD>ƶ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>λ<EFBFBD>þ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
194) 2008.11.30
194.1) performance: acl_vstream.c, acl_vstream_fseek() ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
194.2) samples: vstream_fseek/, watchdog/, base64/
193) 2008.11.28
193.1) bugfix: proctl/proctl_service.c, proctl_service_exist()
<EFBFBD>жϷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>WIN32<33><32><EFBFBD><EFBFBD>Ч
192) 2008.11.23-11.24
192.1) feature: acl_chunk_chain.c, <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ҫʵ<D2AA><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ĺ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
192.2) samples: chunk_chain, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
191) 2008.11.20
191.1) bugfix: proctl/acl_proctl.c, acl_proctl_child() <20><>
acl_proctl_deamon_init() <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>߳<EFBFBD>ʱӦ<CAB1><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳Ĵ<CCB5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ
detached ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դй©<D0B9><C2A9><EFBFBD><EFBFBD>
190) 2008.11.19
190.1) bugfix: proctl/acl_proctl.c, acl_proctl_deamon_init() <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
<EFBFBD>߳<EFBFBD>ʱû<EFBFBD>г<EFBFBD>ʼ<EFBFBD><EFBFBD> attr <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
190.2) acl_define_win32.h: Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>VC6<43>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD>˺ꡰif(_MSC_VER >= 1300)<29><>
<EFBFBD>Ծ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD> winsock.h, <20><><EFBFBD><EFBFBD> winsock2.h
189) 2008.11.18
189.1) feature: stdlib/debug/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACL<43><4C><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD>ڴ<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
189.2) samples: debug_malloc/ <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
189.3) bugfix: acl_aio_read.c <20><>ԭ<EFBFBD><D4AD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> read_fn() <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> strbuf
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD>ڸû<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>õIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD> strbuf <20>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>ȣ<EFBFBD>Ȼ<EFBFBD>󽫸<EFBFBD> strbuf
<EFBFBD><EFBFBD>λ(<28><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>Ȼ<EFBFBD><C8BB><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD> read_fn() <20><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>ȡ<EFBFBD>õĻ<C3B5><C4BB><EFBFBD><EFBFBD><EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD>ݽ<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> read_fn() <20>ڲ<EFBFBD><DAB2>Ķ<EFBFBD><C4B6>εݹ<CEB5>
Ƕ<EFBFBD>׹<EFBFBD><EFBFBD>̵<EFBFBD> strbuf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
188) 2008.11.17
188.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_mem_hook.c <20><><EFBFBD><EFBFBD><EFBFBD>ӿڣ<D3BF>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD><EFBFBD><EFBFBD>
187) 2008.11.14
187.1) bugfix: acl_vstream.c, <20><><EFBFBD>е<EFBFBD> __vstream_sys_readn() <20>Ķ<EFBFBD><C4B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WIN32ƽ̨<EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD> undef <20><><EFBFBD>رյģ<D5B5><C4A3><EFBFBD><EFBFBD><EFBFBD>WIN32<33>ij<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ڽ<EFBFBD>WIN32ƽ̨
<EFBFBD>µĶ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
187.2) feature: net/acl_tcp_ctl.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_tcp_so_linger() <20><>װ<EFBFBD><D7B0><EFBFBD>û<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>׽ӿڹر<EFBFBD>ʱ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TIME_WAIT ״̬<D7B4>ij<EFBFBD><C4B3>֣<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>׽ӿ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ش򿪹ر<EFBFBD>ʱ<EFBFBD><EFBFBD>Ч<EFBFBD>ؽ<EFBFBD>ԼTCP<EFBFBD>Ķ˿ںţ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
186) 2008.11.13
186.1) thread/acl_pthread.c: WIN32ƽ̨<C6BD>£<EFBFBD><C2A3><EFBFBD>û<EFBFBD>е<EFBFBD><D0B5><EFBFBD>acl_pthread_init()ʱ<><CAB1>
<EFBFBD>ڲ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CREATE_SUSPENDED<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>б<EFBFBD>Ҫ<EFBFBD>ij<EFBFBD>ʼ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>ResumeThread()<29>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD><D6A4>ʹ<EFBFBD>û<EFBFBD>û<EFBFBD>е<EFBFBD><D0B5><EFBFBD>
acl_pthread_init()<29><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>̵߳<DFB3><CCB5><EFBFBD><EFBFBD>۰<EFBFBD>ȫ<EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>Ԥ<EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>
acl_pthread_init()<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B4B4><EFBFBD>߳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>
185) 2008.11.12
185.1) bugfix: stdlib/string/acl_mystring.c <20>е<EFBFBD> acl_mystrline() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bug,
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD>ʹ<EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_xinetd_cfg.c <20>Լ<EFBFBD> master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĶ<D0B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
185.2) feature: stdlib/common/acl_htable.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_htable_last_errno() <20><>
<EFBFBD><EFBFBD> acl_htable_set_errno() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹӦ<CAB9>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>жϲ<D0B6><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>״̬<D7B4><CCAC>
Ŀǰ<EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD>״̬. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ACL_HTABLE_STAT_DUPLEX_KEY
184) 2008.11.10
184.1) thread: <20><><EFBFBD><EFBFBD> acl_pthread_init()/acl_pthread_end() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ʱ<EFBFBD><EFBFBD>acl_pthread_creeate<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> RunThreadWrap()
<EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD>ڵij<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
184.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> init/ ģ<><EFBFBD><E9A3AC>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ACL<43><4C><EFBFBD>ڲ<EFBFBD><DAB2>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>û<EFBFBD>ֻ<EFBFBD><D6BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
acl_init(), <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>й<EFBFBD>WIN32<33>µ<EFBFBD>SOCKET<45><54>THREAD<41>Լ<EFBFBD>UNIX<49>µ<EFBFBD>signal
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ʼ<EFBFBD><EFBFBD>
183) 2008.11.9
183.1) thread: <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD>µ<EFBFBD>POSIX<49><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
182) 2008.11.8
182.1) thread/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_join <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>POSIX<49><58>׼<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_pthread_detach()
181) 2008.11.7
181.1) bugfix: acl_mystring.c->acl_mystrline() <20>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD> "\r\n" Ϊ<>س<EFBFBD><D8B3><EFBFBD><EFBFBD>з<EFBFBD>ʱ
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>BUG<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>Ӱ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(acl_xinetd_cfg.c)
181.2) performance: acl_mystring.c->acl_mystrline() <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λʱ<CEBB><CAB1><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>memmove())<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ij<DEB8><C4B3><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ƶ<EFBFBD>һ<EFBFBD>εķ<CEB5>ʽ
180) 2008.11.6
180.1) bugfix: acl_aio_read.c, <20><><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5><C4B5><EFBFBD> astream->read_fn() ֮<><D6AE><EFBFBD><EFBFBD>Ӧ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTRING_RESET() <20>Է<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
180.2) performance: stdlib/charmap.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>ʹ
strcaseXXX<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD>
180.3) net/dns: rfc1035 ģ<><C4A3><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>ʵ<EFBFBD><CAB5>
180.4) stdlib/configure: <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
179) 2008.11.5
179.1) feature: acl_dlink.c, acl_dlink_lookup_larger() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD>; acl_dlink_lookup_lower() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD>
С<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ƚ϶<EFBFBD>ʱ<EFBFBD><EFBFBD>Ч<EFBFBD>ʻ<EFBFBD><EFBFBD>Ƚϵͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ö<EFBFBD><EFBFBD>ijɶ<EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>
179.2) performance: strcasecmp, strcasencmp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
179.3) bugfix: acl_aio_read.c, acl_aio_readn() <20>У<EFBFBD>Ӧ<EFBFBD>ý<EFBFBD>
" astream->count = count; " <20><><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>__readn_notify_callback() <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "astream->read_fn" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "ACL_VSTRING_RESET(&astream->strbuf);"
<EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD> fatal <20><><EFBFBD><EFBFBD>
178) 2008.11.3
178.1) feature: acl_dlink.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_dlink_lookup_range()<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>
<EFBFBD><EFBFBD>ѯij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
177) 2008.10.31
177.1) feature: acl_dlink.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_dlink_delete_range() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>
<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>
177.2) feature: acl_array.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_array_delete_range() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>
<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>±귶Χ֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
176) 2008.10.27
176.1) feature: C99<39><39>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ֻҪ<D6BB>ڱ<EFBFBD><DAB1><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
<EFBFBD>꣺__thread <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>Ϊһ<CEAA><D2BB><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A3BA><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>õ<EFBFBD><C3B5>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD>
static __thread int i = 0; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>õ<EFBFBD><C3B5>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .c <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
__thread int i; Ȼ<><C8BB><EFBFBD><EFBFBD> .h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>extern __thread int i;
windows <20>´<EFBFBD>VC7<43><37>ʼҲ֧<D2B2><D6A7>C99<39><39>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>WIN32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD>Ҫ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
__declspec(thread)<29><>Ϊ<EFBFBD><CEAA>ʹ<EFBFBD>õ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD> acl_define_win32.h <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD>ͳһ<CDB3><D2BB><EFBFBD><EFBFBD>Ϊ
__thread; <20><><EFBFBD><EFBFBD>UNIX<49>µ<EFBFBD>Makefile<6C>ļ<EFBFBD><C4BC><EFBFBD>GCC<43><43><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD>ѡ<EFBFBD>-pedantic<69><63>ѡ<EFBFBD><D1A1>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>C89<EFBFBD>ı<EFBFBD>׼
176.2) samples: thread/ <20>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>C89<38><39><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
175) 2008.10.26
175.1) feature: acl_dlink.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> acl_dlink_lookup2_by_item,
acl_dlink_lookup2, <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD>ʱͬʱȡ<CAB1>øý<C3B8><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ֵ
174) 2008.10.21
174.1) feature: acl_sys_patch.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> win32 <20>µ<EFBFBD> gettimeofday ʵ<><CAB5>
174.2) feature: acl_netdb.c, <20><>չ<EFBFBD><D5B9>һЩ<D2BB><EFBFBD><E1B9B9>Ա<EFBFBD><D4B1>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>
acl_netdb_refer_oper, acl_netdb_refer, acl_netdb_unrefer, acl_netdb_add_addr
173) 2008.10.17
173.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶߳<DFB3>ջ<EFBFBD>ռ<EFBFBD><D5BC><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><C3B9>ܣ<EFBFBD><DCA3><EFBFBD><E6BCB0><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD>
acl_pthread.c/h, acl_workq.c/h, acl_ioctl.c/h, acl_ioctl_server.c,
acl_ioctl_params.h
acl_pthread.c: acl_pthread_attr_setstacksize
acl_workq.c: acl_workq_set_stacksize
acl_ioctl.c/h: ACL_IOCTL_CTL_THREAD_STACKSIZE
acl_ioctl_server.c: acl_var_ioctl_stacksize
acl_ioctl_params.h: ACL_VAR_IOCTL_STACKSIZE, ACL_DEF_IOCTL_STACKSIZE
172) 2008.10.10
172.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>õ<EFBFBD>HTTP<54>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_client/
171) 2008.10.9
171.1) workaround: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC6<43><36>VC2003<30><33><EFBFBD><EFBFBD><EBBBB7><EFBFBD>µĹ<C2B5><C4B9><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
lib_acl.dll, lib_acl.lib, lib_acl_d.dll, lib_acl_d.lib <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
lib_acl_vc6.lib, lib_acl_vc6d.lib, lib_acl_vc2003.lib, lib_acl_vc2003d.lib
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC2003<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC6<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
171.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC6<43><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples <20><><EFBFBD>̣<EFBFBD>ĿǰΪ<C7B0>˲<EFBFBD><CBB2>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(vstream.dsp, vstring.dsp)
170) 2008.10.8
170.1) master <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_tcp_defer_accept() <20><><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><C3B9>ܣ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳٽ<EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD><EFBFBD>, <20>޸ĵ<DEB8><C4B5>ļ<EFBFBD><C4BC><EFBFBD>
master.h, master_ent.c, master_listen.c
170.2) acl_inet_listen.c: ȥ<><C8A5><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵ<EFBFBD> acl_tcp_defer_accept() <20><><EFBFBD>ã<EFBFBD>ʹ<EFBFBD><CAB9>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<EFBFBD>ô˹<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿں<EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
169) 2008.10.7
169.1) <20><><EFBFBD>룺VC <20><><EFBFBD>붯̬<EBB6AF><CCAC><EFBFBD><EFBFBD>DEBUG<55><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>DEBUG<55>汾ʱ<E6B1BE><CAB1>Ĭ<EFBFBD><C4AC>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *.ilk <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC
Ĭ<EFBFBD>ϵģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ *.ilk <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD>VC<56><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>BUG<55><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹر<DAB9><D8B1><EFBFBD>
VC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĹ<EFBFBD><EFBFBD><EFBFBD>
169.2) samples/proctld ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
169.3) <20><><EFBFBD><EFBFBD>ACL<43><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ӿ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ACL<43><4C>̬<EFBFBD><CCAC>ʱӦ<CAB1><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ԥ<EFBFBD><EFBFBD><EFBFBD>壺ACL_DLL
169.4) include/stdlib/acl_define_win32.h: <20><>ΪVC<56><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>: WIN32, <20><><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD>壬ҲĬ<D2B2><C4AC>
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>VC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
168) 2008.9.29
168.1) feature: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_API <20><><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>DLL<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ACL<43><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>DLL<4C><4C>ʽʹ<CABD><CAB9>
ACL<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣺ACL_DLL
167) 2008.9.27
167.1) bugfix: events_proc.c, <20><><EFBFBD><EFBFBD> select() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ -1, <20><> error
Ϊ EINTR, <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>أ<EFBFBD><D8A3><EFBFBD>û<EFBFBD>н<EFBFBD> eventp->nested <20>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD>
event_loop() ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "if (eventp->nested++ > 0)" <20><><EFBFBD><EFBFBD>, <20><>BUG<55><47>Ӱ<EFBFBD><D3B0>
acl_master, <20><><EFBFBD><EFBFBD> master <20><><EFBFBD>ܵ<EFBFBD> aio <20><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
166) 2008.9.26
166.1) acl_vstream.h: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ע<EFBFBD>͸<EFBFBD>ʽ<EFBFBD><CABD>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> JAVA-DOC <20><>ʽ
166.2) acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_fhopen() <20>ӿڣ<D3BF><DAA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD>win32
166.3) acl_myloc.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_log_fp() <20>ӿ<EFBFBD>
165) 2008.9.22
165.1) mempool/acl_allocator.c: <20><><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD> acl_allocator_ctl() <20>Է<EFBFBD><D4B7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>صĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С/<2F><><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
164) 2008.9.19
164.1) proctl: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_proctl_start_one() <20><> acl_proctl_stop_one()
<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
164.2) compile: <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD> C++ Builder6 <20>ϵı<CFB5><C4B1><EFBFBD><EBBEAF>
164.3) acl_hash.c: <20><> crc64 <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ acl_hash_crc64
164.4) <20><><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
164.5) acl_aio_read/write: <20>ڵ<EFBFBD><DAB5><EFBFBD> XXX_SAFE_IOCP <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ٶ<EFBFBD> astream <20><><EFBFBD><EFBFBD>
<EFBFBD>κβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
163) 2008.9.18
163.1) proctl: <20><>ģ<EFBFBD><C4A3><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD>
162) 2008.9.11
162.1) acl_vstream: ֧<><D6A7><EFBFBD>׽<EFBFBD><D7BD>ֵ<EFBFBD> writev ģʽ<C4A3><CABD><EFBFBD>ұ<EFBFBD>֤ȫ<D6A4><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
162.2) samples/vstream: <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>
162.3) samples/master/: <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD> Makefile <20>ļ<EFBFBD>
161) 2008.9.10
161.1) <20>ڴ<EFBFBD><DAB4>صĻ<D8B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դﵽ1M<31><4D>Ҳ<EFBFBD><D2B2>Ӧ<EFBFBD>üӸ<C3BC><D3B8><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>һ<EFBFBD><D2BB>
<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD>
161.2) acl_sys_patch.c: ֧<><D6A7><EFBFBD>׽<EFBFBD><D7BD>ֵ<EFBFBD> writev ģʽ
161.3) acl_vstream.c: ֧<><D6A7><EFBFBD>׽<EFBFBD><D7BD>ֵ<EFBFBD> writev ģʽ
161.4) acl_aio_write.c: ֧<><D6A7><EFBFBD>׽<EFBFBD><D7BD>ֵ<EFBFBD> writev ģʽ
160) 2008.9.9
160.1) <20>°汾<C2B0><E6B1BE> acl <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>ƽ̨<C6BD>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
159) 2008.9.4-9.8
159.1) engine/events_proc.c: <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD> Linux epoll <20><><EFBFBD>صļ<D8B5><C4BC><EFBFBD>BUG<55><47>
<EFBFBD><EFBFBD> postfix <20>м̳<D0BC><CCB3><EFBFBD><EFBFBD>й<EFBFBD> epoll <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EBA3AC> postfix <20>жԶ<D0B6>д<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>Ҫ<EFBFBD><D2AA>
<EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
event_disable_readwrite <20>ӿڣ<D3BF><DAA3><EFBFBD> acl <20><><EFBFBD>е<EFBFBD> events_proc.c <20><>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>ͬʱ
<EFBFBD><EFBFBD>ͬһ<EFBFBD>׽<EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD>ж<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event_disable_read, event_disable_write
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ postifx <20>е<EFBFBD><D0B5>й<EFBFBD> epoll <20>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD> acl <20>оͻ<D0BE><CDBB><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ acl <20><><EFBFBD><EFBFBD><EFBFBD>Էdz<D4B7><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> Linux <20>µ<EFBFBD> epoll <20><><EFBFBD>ã<EFBFBD>
ֻ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_acl/src/engine/events_define.h <20>е<EFBFBD> ACL_EVENTS_KERNEL
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
159.2) aio/: ԭ<><D4AD><EFBFBD><EFBFBD> acl <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD><EFBFBD><EFBFBD> IO <20><> aio ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ʽ
<EFBFBD>ǵ<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD>ֵĶ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ǶԲ<C7B6><D4B2><EFBFBD>
epoll <20><><EFBFBD>Ƶķ<C6B5><C4B7><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊһֱ<D2BB>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>浽Ӧ<E6B5BD><D3A6><EFBFBD><EFBFBD>Ҫ<EFBFBD>رո<D8B1>
<EFBFBD>׽<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֹ<EFBFBD><EFBFBD>acl_aio_write ģ<><C4A3><EFBFBD><EFBFBD>Ƕ<EFBFBD>״<EFBFBD><D7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC>Ϊ
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱδ<EFBFBD><EFBFBD>Ƕ<EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD>ڴﵽ
дǶ<EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD>ÿһ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>д
<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ļص<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󽵵<EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><><CAB5>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
<EFBFBD><EFBFBD>BUG<EFBFBD>ĺ󣬻<EFBFBD><EFBFBD><EFBFBD> acl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> webserver <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2000<30><30>ÿ<EFBFBD><EFBFBD><EBA3BB>
acl_aio_listen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ӹ<EFBFBD><D3B9>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aio
ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>йؽӿ<EFBFBD>
159.3) acl_aio_create <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD> accept_max <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>1<EFBFBD><31>
ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD>ղ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>ʵ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ1<EFBFBD><EFBFBD>acl_vstream_listen
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>бȽ<EFBFBD>Сʱ(<28><>С<EFBFBD><D0A1>64)<29><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>ӳ<EFBFBD>
158) 2008.9.1-9.3
158.1) socket performance: <20>ڲ<EFBFBD><DAB2>Ի<EFBFBD><D4BB><EFBFBD> acl_aio_xxx <20><><EFBFBD><EFBFBD>д<EFBFBD><D0B4>HTTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
(<28><>Apache <20><>ab<61><62><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>) <20><><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ӵ<EFBFBD>Ч<EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>ӵ<EFBFBD>Ч<EFBFBD>ʵͣ<CAB5><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
<EFBFBD>Ų飬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Nagle <20><EFBFBD><E3B7A8>
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ӳ٣<EFBFBD>Ϊ<EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD> acl_sane_accept,
acl_sane_connect <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD> TCP_NODELAY <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Nagle
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>Ȼ<EFBFBD>п<EFBFBD><D0BF>ܻή<DCBB><E1BDB5>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
158.2) net/acl_tcp_ctl.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>acl_tcp_nodelay<61>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD>Կ<EFBFBD>/<2F><>ij<EFBFBD><C4B3><EFBFBD>׽ӿ<D7BD>
<EFBFBD><EFBFBD> TCP_NODELAY <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
158.3) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ч<EFBFBD>ʲ<EFBFBD><CAB2>Խӿڣ<D3BF>stdlib/acl_meter_time.c, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> ACL_METER_TIME("your info") <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ִ<EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>,
<EFBFBD>ڲ<EFBFBD><EFBFBD>ԡ<EFBFBD>158.1) <20><><EFBFBD><EFBFBD> Nagle <20><><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ӳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷dz<CBB7><C7B3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
158.4) acl_fifo.c: <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD>Ľӿڣ<D3BF>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><E1B9B9><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>
158.5) acl_aio: <20>Ż<EFBFBD><C5BB>˽ṹ<CBBD><E1B9B9><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>һЩ<D2BB><D0A9>Ҫ<EFBFBD><D2AA><EFBFBD>ζ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺ϲ<CCBA><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
158.6) acl_vstring: Ϊ acl_aio <20><><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstring_free_buf <20><><EFBFBD><EFBFBD>
158.7) sample: fifo <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
157) 2008.8.27
157.1) <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><E4A3BA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl <20><><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B5BC><EFBFBD><EFBFBD>Щ
<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
157.2) acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD>еĻص<C4BB><D8B5>ͷź<CDB7><C5BA><EFBFBD> acl_myfree_fn ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>
<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ͷŷ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_array_delete_idx <20>ĵ<EFBFBD><C4B5>÷<EFBFBD><C3B7><EFBFBD> close_fn <20><><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ֹ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD> close_fn <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> acl_vstream_delete_close_handle ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD>Ƿ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD>ͷ<EFBFBD>
157.3) samples/master/ioctl_echo, aio_echo: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD><F3A3ACB5><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD> master_env ʱ<><CAB1>û<EFBFBD><C3BB><EFBFBD>ж<EFBFBD> getenv() <20><><EFBFBD><EFBFBD> NULL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
156) 2008.8.26
156.1) <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><E4A3BA><EFBFBD>½<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
156.2) <20><><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC6<43>ϳɹ<CFB3><C9B9><EFBFBD><EFBFBD>룬ͬʱ<CDAC><CAB1>win32ƽ̨<C6BD>µĵĿ<C4B5><C4BF><EFBFBD><EFBFBD>Ӻ<EFBFBD>׺<EFBFBD><D7BA>
<EFBFBD><EFBFBD> lib_acl_vc6.lib, lib_acl_vc2003.lib, lib_acl_cb6.lib
155) 2008.8.23-25
155.1) <20>ڴ<EFBFBD><DAB4>أ<EFBFBD><D8A3><EFBFBD> acl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD>, <20><>֮<EFBFBD><D6AE><EFBFBD>ص<EFBFBD><D8B5>޸<EFBFBD><DEB8>ļ<EFBFBD><C4BC><EFBFBD>
acl_malloc.c, acl_mylog.c, acl_allocator.c mem_pool.c, squid_allocator.c
vstring_pool.c, etc, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ mempool/ <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>Ϊ acl <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> stdlib/ <20>µ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
155.2) acl_stack.c: <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д, <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>
155.3) unit_test: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_stack ģ<><C4A3><EFBFBD>ĵ<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
155.4) master/aio, iotcl: <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>صĹ<D8B5><C4B9><EFBFBD>
154) 2008.8.22
154.1) acl_mymalloc.c: acl_mymalloc(), acl_myfree() ȥ<><C8A5><EFBFBD><EFBFBD> memset()
<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ƚϴ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ȽϺ<EFBFBD>ʱ
154.2) acl_allocator: <20>ڴ<EFBFBD><DAB4><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
154.3) samples/mempool: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>صIJ<D8B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
154) 2008.8.21
154) acl_vstring.c: acl_vstring_sprintf_prepend <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>DZ<EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><D6B8>BUG
153) 2008.8.20
153.1) acl_mylog.c: <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>UNIXƽ̨<C6BD><EFBFBD> <20>򿪵<EFBFBD><F2BFAAB5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_close_on_exec <20><><EFBFBD>ܣ<EFBFBD><DCA3>Է<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8>ӽ<EFBFBD><D3BD><EFBFBD>
153.2) master <20><><EFBFBD><EFBFBD>: ʹ<>ӽ<EFBFBD><D3BD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>л<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>־<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>л<EFBFBD>Ϊ
<EFBFBD><EFBFBD>ͨ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼
153.3) acl_master <20><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD>װʱΪ<CAB1>˱<EFBFBD>֤<EFBFBD>л<EFBFBD>Ϊ<EFBFBD><CEAA>ͨ
<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD>̼<EFBFBD>¼<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD> var/log Ŀ¼<C4BF><C2BC>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 1777; <20><><EFBFBD><EFBFBD>װ
<EFBFBD><EFBFBD><EFBFBD>еķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> conf/service/samples/ Ŀ¼<C4BF><C2BC>
152) 2008.8.18
152.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD><C2BC>
<EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
152.2) feature: acl_master <20><><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(main.cf) <20>е<EFBFBD> scan_subdir
ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>µķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
152.3) feature: ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_env <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʹ<EFBFBD><EFBFBD> acl_master <20><><EFBFBD>̿<EFBFBD><CCBF>Խ<EFBFBD><D4BD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
152.4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/master/ <20>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>
151) 2008.8.14
151.1) feature: acl_vstream<61><6D>ʹ ACL_VSTREAM_IN, ACL_VSTREAM_OUT,
ACL_VSTREAM_ERR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<D2AA><CAB9><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_init() <20><><EFBFBD>г<EFBFBD>ʼ<EFBFBD><CABC>
151.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD> ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--samples/vstream
150) 2008.8.12
150.1) bugfix: acl_ioctl.c <20>е<EFBFBD> __on_thread_init <20><> __on_thread_exit
<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
149) 2008.8.7
149.1) <20><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD>ƽ̨<C6BD>µı<C2B5><C4B1><EFBFBD><EBB9A4>
149.2) experiment: avl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>64λLINUX<55>±<EFBFBD><C2B1><EFBFBD>ͨ<EFBFBD><CDA8>
149.3) unit_test: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> avl <20>ĵ<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
149.4) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SUNOS-X86<38>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
148) 2008.7.30
148.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> samples/master/ <20>µļ<C2B5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3>Ա<EFBFBD><D4B1><EFBFBD>ʹ<EFBFBD><CAB9>
147) 2008.7.23
147.1) samples: <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD>WIN32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FileDir <20><><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3>Ŀ¼<C4BF><C2BC>
<EFBFBD>ֿ<EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>AVL<EFBFBD><EFBFBD>(<28><>ֲ<EFBFBD><D6B2> OpenSolaris)
146) 2008.7.19
146.1) feature: acl_scan_dir ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĽӿڣ<D3BF><DAA3><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ûص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>
146.1) samples: FileDir(win32) ɨ<><C9A8>Ŀ¼<C4BF>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32<33><32>ͳ<EFBFBD><CDB3>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>
145) 2008.7.17
145.1) feature: proctl ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
145.2) feature: acl_scan_dir ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_scan_stat() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Էdz<D4B7>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>׼<EFBFBD><D7BC> stat <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><>õ<EFBFBD>ǰ<EFBFBD><C7B0>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
144) 2008.7.15
144.1) feature: proctl/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD><CCA8><EFBFBD>и<EFBFBD><D0B8>ӽ<EFBFBD><D3BD>̿<EFBFBD><CCBF>Ƶ<EFBFBD>ģ<EFBFBD>飬֧<E9A3AC><D6A7>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD>񣩡<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD>
144.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD><CCA8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
144.3) msg/acl_aqueue.c: acl_aqueue_pop_timedwait() <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫΪ0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵȴ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
144.4) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC2003, CB++, GCC <20>±<EFBFBD><C2B1><EFBFBD>ͨ<EFBFBD><CDA8>
143) 2008.7.4
143.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> engine/acl_timer.c, <20>ÿ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>˶<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
142) 2008.6.30
142.1) <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㷨(DEBUG<55>汾): acl_btree.c
142.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD>µ<EFBFBD><C2B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: acl_myflock.c
142.3) acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_file_ftruncate(), acl_file_truncate()
141) 2008.6.25
141.1) acl_vstring.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstring_memchr<68><72>acl_vstring_strcasestr<74><72>
acl_vstring_strstr<EFBFBD><EFBFBD>acl_vstring_insert<EFBFBD><EFBFBD>acl_vstring_prepend<EFBFBD><EFBFBD>
acl_vstring_sprintf_prepend <20><><EFBFBD><EFBFBD>
141.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vstring <20><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>
140) 2008.6.23
140.1) acl_vstream.c: <20><><EFBFBD><EFBFBD>WIN32ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>ΪAPI<50><49>֧<EFBFBD><D6A7>APPENDģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACL_VSTREAM <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>O_APPEND<4E><44><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤
<EFBFBD><EFBFBD>дʱ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD>д(<28><><EFBFBD><EFBFBD>__vstream_sys_writeʱ)(<28><>Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ع淶
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>β)
139) 2008.6.18
139.1) acl_mystring.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> strcasestr
138) 2008.6.17
138.1) acl_fifo.c/acl_fifo.h: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> iterator <20><><EFBFBD><EFBFBD>
138.2) samples: <20><><EFBFBD><EFBFBD> ACL_FIFO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
137) 2008.6.4
137.1) <20><>64λRedhat Linux<75><78><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
137.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC<56>µĹ<C2B5><C4B9><EFBFBD><EFBFBD>ļ<EFBFBD>
136) 2008.6.3
136.1) acl_mymalloc.h, acl_mymalloc.h: <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԵĽӿ<C4BD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ<EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>λ<EFBFBD><EFBFBD>
136.2) master/, ioctl/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳<DFB3>ʼ<EFBFBD><CABC><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>˳<EFBFBD><CBB3>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
master/template/acl_ioctl_server.c: ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳<DFB3>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>˳<EFBFBD>
<EFBFBD>Ļص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; samples/master/ioctl_echo/app_main.c(.h) Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD>Ļص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
136.3) unit_test: stdlib/test_malloc.c, <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
135) 2008.5.29
135.1) acl_make_dirs.c: <20><>ȫ֧<C8AB><D6A7>WIN32ƽ̨<C6BD>´<EFBFBD><C2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
134) 2008.5.5
134.1) feature: <20><><EFBFBD><EFBFBD> master <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD>
Ӧ<EFBFBD>ÿ<EFBFBD><EFBFBD>ԱȽϷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>ȡ<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
134.2) bugfix: acl_inet_listen() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַʱ<D6B7><CAB1><EFBFBD><EFBFBD>־<EFBFBD><D6BE>
¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bind() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>еĸ<D0B5><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>򲻶<EFBFBD>
133) 2008.4.30
133.1) bugfix: db/memdb/acl_mdt.c <20>е<EFBFBD> acl_mdt_delete() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>BUG<55><47>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
132) 2008.4.29
132.1) feature: db/memdb, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_mdt_list <20>ӿڿ<D3BF><DABF><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>г<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>Χ
<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; acl_mdt_walk <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
131) 2008.4.28
131.1) bugfix: stdlib/acl_vstream.c, acl_vstream_probe_status() <20><>UNIX
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>н<EFBFBD><EFBFBD>׽ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Իᵼ<EFBFBD>µ<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ϊ db/null/ <20><><EFBFBD>ӳص<D3B3>ȱʡ̽<CAA1><CCBD><EFBFBD><EFBFBD><EFBFBD>ӵķ<D3B5>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>˴˺<CBB4><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
131.2) feature: db/ (<28><><EFBFBD>ݿ<EFBFBD>)<29><><EFBFBD>ӳ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>̽<EFBFBD><CCBD>ģ<EFBFBD><C4A3>
131.3) feature: db/ <20><><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ǿ<EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>ӵĺ<D3B5><C4BA><EFBFBD>
130) 2008.4.24-4.25
130.1) performance: master <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>̵߳ķ<CCB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ص<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>
engine/, ioctl/, master/template/acl_ioctl_server.c
130.2) feature: stdlib/common<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>µ<EFBFBD>CRC64<36><34><EFBFBD><EFBFBD><E3B7A8><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD>
129) 2008.4.23
129.1) feature: db/memdb<64><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD>ij<EFBFBD><C4B3><EFBFBD>ֶ<EFBFBD>ֵ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>еĺ<D0B5><C4BA><EFBFBD>
128) 2008.4.21
128.1) <20><>BORLAND CBuilter6 <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
128.2) db/memdb: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽӿڣ<D3BF>ʹ<EFBFBD><CAB9><EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD>㣬Ч<E3A3AC>ʸ<EFBFBD><CAB8><EFBFBD>
128.3) bugfix: acl_vstream.c <20>ж<EFBFBD> wbuf_size <20>ij<EFBFBD>ʼ<EFBFBD><CABC>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡΪ
sizeof(stream->wbuf_size) - 1<><31>Ӧ<EFBFBD><D3A6>Ϊ sizeof(stream->wbuf)<29><><EFBFBD><EFBFBD>Ϊ<EFBFBD>˴<EFBFBD><CBB4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󽵵<EFBFBD> acl_vstream_buffed_writen <20><>Ч<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ
ϵͳĬ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD> TCP_NODELAY<41><59><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>!
128.4) bugfix: db/ <20><><EFBFBD>ӳ<EFBFBD><D3B3>м<EFBFBD><D0BC>δ<EFBFBD><CEB4>󣬽<EFBFBD><F3A3ACBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
127) 2008.4.19
127.1) bugfix: acl_sys_patch.c <20>е<EFBFBD> acl_file_open <20><>WIN32<33>µ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>Щ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
126) 2008.4.17
126.1) bugfix: acl_vstream_fileno, ACL_VSTREAM_FILENO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD>Ϊ֮ǰ<EFBFBD><EFBFBD> ACL_VSTREAM <20><><EFBFBD>еľ<D0B5><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>ּ<EFBFBD><D6BC>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD> stream->type <20><><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ڷֱ<DAB7>
<EFBFBD><EFBFBD> ACL_VSTREAM_SOCK, ACL_VSTREAM_FILE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>׽<EFBFBD><D7BD>ֻ<EFBFBD><D6BB>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
126.2) stdlib/acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>ſ<EFBFBD>
125) 2008.4.16
125.1) db/memdb: <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD>õ<EFBFBD>ACL_RING<4E>޸<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
<EFBFBD><EFBFBD> MDB_RING, MDB_RING <20>б<EFBFBD> ACL_RING <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶδӶ<CEB4><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ռ<EFBFBD><D5BC>;
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶε<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>
124) 2008.4.15
124.1) examples: <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>С<EFBFBD><D0A1><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD>Խ<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>ʽת<CABD><D7AA><EFBFBD><EFBFBD>:
UNIX, DOS, MAC <20><><EFBFBD>ָ<EFBFBD>ʽ
124.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>߽<EFBFBD> acl <20><><EFBFBD><EFBFBD>ͳһת<D2BB><D7AA><EFBFBD><EFBFBD>UNIX<49><58><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
123) 2008.4.9
123.1) db/null, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳؿ<D3B3><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TCP<43><50><EFBFBD>ӳؿ<D3B3>
122) 2008.4.3
122.1) <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ݿ⣬<DDBF><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>¡<EFBFBD><C2A1><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD>ѯ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̲߳<EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
121) 2008.4.2
121.2) acl_define_linux.h: <20><><EFBFBD><EFBFBD> g++
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>_GNU_SOURCE<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> _LARGEFILE64_SOURCE
120) 2008.3.29-4.1
120.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ݿ<EFBFBD>ģ<EFBFBD><C4A3>(db/memdb/)<29><>֧<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD>ϣ<EFBFBD><CFA3>ϵ<EFBFBD><CFB5>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><EFBFBD>ܻ<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵĶ<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD>鲿<EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/memdb/
<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص㣺
1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD>ò<EFBFBD>ͬ<EFBFBD>Ĺؼ<EFBFBD><EFBFBD>ֶν<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2<EFBFBD><EFBFBD>֧<EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD>ù<EFBFBD>ϣ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ʽ
4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С(<28><><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9>Ҫ<EFBFBD>Ż<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>ĵط<C4B5>)
119) 2008.3.27
119.1) compiling: <20><>LINUX<55><58><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
118) 2008.3.25
118.1) bugfix: <20><> acl_aio_xxx <20>У<EFBFBD><D0A3><EFBFBD>Ϊ<EFBFBD><EFBFBD><ECB2BD>д<EFBFBD><D0B4><EFBFBD>ܻᱻǶ<E1B1BB>׵<EFBFBD><D7B5>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> -1 <20><>ֵ<EFBFBD><D6B5><EFBFBD>Ӷ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>磺http_chat_async.c <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
<EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ<EFBFBD><EFBFBD> acl_aio_read, acl_aio_readn, acl_aio_gets, acl_aio_gets_nonl,
acl_aio_writen, acl_aio_vfprintf, acl_aio_fprintf<74>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ֵΪ >=0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD>̲<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ӻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>Ϊ<EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>ֵΪ void
117) 2008.3.20
117.1) <20><><EFBFBD>°汾<C2B0><E6B1BE>LINUX<55>±<EFBFBD><C2B1><EFBFBD>ͨ<EFBFBD><CDA8>
<EFBFBD><EFBFBD>Linux<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>Makefile<EFBFBD>ļ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -Wno-long-long <20>Ӷ<EFBFBD>֧<EFBFBD><D6A7>
long long <20><><EFBFBD><EFBFBD>
116) 2008.3.19
116.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>64λϵͳ<CFB5><CDB3>һЩ֧<D0A9>֣<EFBFBD>ͬʱ֧<CAB1><D6A7><EFBFBD><EFBFBD>32λϵͳ<CFB5><CDB3>ģ<EFBFBD><C4A3>64λ<34><CEBB>һЩ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>У<EFBFBD>
acl_define_linux.h, acl_define_win32.h, acl_mystring.h, acl_sys_patch.h,
acl_vstream.h, acl_define.h, acl_dlink.h, acl_msg.c, squid_allocator_tools.c,
acl_sys_patch.c, acl_vstream.c, acl_dlink.c, acl_mystring.c, acl_vstream_net.c,
116.2) feature: <20><>WIN32ƽ̨<C6BD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>IJ<EFBFBD><C4B2><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>WIN32<33><32>API<50><49><EFBFBD>Ӷ<EFBFBD>֧<EFBFBD>ִ<EFBFBD><D6B4>ļ<EFBFBD><C4BC><EFBFBD>
<EFBFBD><EFBFBD>д<EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>LINUXƽ̨<EFBFBD>´<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>, <20><>Ҫ<EFBFBD><D2AA> acl_define_linux.h <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
# define _LARGEFILE64_SOURCE
# define _FILE_OFFSET_BITS 64
<EFBFBD><EFBFBD> acl_vstream.c <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1>Ҫָ<D2AA><D6B8> O_LARGEFILE <20>򿪲<EFBFBD><F2BFAAB2><EFBFBD>
116.3) comment: acl_mystring.h <20><><EFBFBD><EFBFBD><EFBFBD>˱Ƚ<CBB1><C8BD><EFBFBD>ϸ<EFBFBD><CFB8>ͷ<EFBFBD>ļ<EFBFBD><C4BC>к<EFBFBD><D0BA><EFBFBD><EFBFBD>ӿ<EFBFBD>ע<EFBFBD><D7A2>
116.4) <20>ڲ<EFBFBD>ʹ<EFBFBD><CAB9> snprintf <20><><EFBFBD><EFBFBD>ʱʹ<CAB1><CAB9>ϵͳĬ<CDB3>ϵ<EFBFBD> snprintf, <20><>WIN32ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD> _snprintf
115) 2008.2.20
115.1) bugfix: acl_dlink.c, acl_iplink.c, ֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD> begin = 0 ʱ<><CAB1><EFBFBD>ܽ<EFBFBD><DCBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
114) 2008.2.19
114.1) performance: acl_vstream.c <20>У<EFBFBD>֮ǰδ<C7B0><CEB4><EFBFBD>ö<EFBFBD><C3B6>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ٺ궨<D9BA><EAB6A8>
113) 2008.2.3
113.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> squid <20>ķּ<C4B7><D6BC><EFBFBD>¼<EFBFBD><C2BC>־<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD> acl_debug.c/acl_debug.h
113.2) <20><> acl_argv_split.h ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD> acl_argv.h <20><>
112) 2008.2.2
112.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_iplink <20><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ acl_dlink <20>Ӷ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_iplink <20><><EFBFBD><EFBFBD> acl_dlink <20>м̳<D0BC>
111) 2008.1.29
111.1) vc <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>޸<EFBFBD>: <20><> debug <20><><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> _d, <20><> lib_acl.lib <20><> debug <20><EFBFBD><E6B1BE>
Ϊ lib_acl_d.lib<69><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD><E6B1BE>DEBUG<55><EFBFBD><E6B1BE><EFBFBD><EFBFBD>:
lib_acl_d.lib, lib_acl_mysql_d.lib, lib_protocol_d.lib
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RELEASE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
lib_acl.lib, lib_acl_mysql.lib, lib_protocol.lib
110) 2008.1.24
110.1) Bugfix: acl_ring.c, <20><> acl_ring_append(), acl_ring_prepend() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD>²<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> parent <20><>Ӧ<EFBFBD><D3A6> ring, <20><> entry->parent <20><>Ӧ<EFBFBD><D3A6> ring, <20><> Ӧ<><D3A6> ring->parent,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> parent <20><>ָ<EFBFBD><D6B8>ͬһ<CDAC><D2BB> ring header, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>Ƿ<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> unix_trigger.c <20>Ĺ<EFBFBD><C4B9><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ϊ<EFBFBD>ڲ<EFBFBD><DAB2>Դ<EFBFBD><D4B4><EFBFBD><E7B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> unix_trigger.c <20>е<EFBFBD> __USE_TIMER, <20>򵱴<EFBFBD><F2B5B1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʱ<EFBFBD><CAB1>С<EFBFBD><D0A1>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>׽ӿڵij<EFBFBD>ʱʱ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD> valgrind <20><><EFBFBD>Էdz<D4B7><C7B3><EFBFBD><EFBFBD>׷<EFBFBD><D7B7>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>,
Ϊ<EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣬Ҳ<EFBFBD><EFBFBD><EFBFBD>˺ܶ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>żȻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ı<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_ring.c <20>ж<EFBFBD> parent <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǻǣ<C7BA><C7A3><EFBFBD><EFBFBD>ѷ<EFBFBD><D1B7><EFBFBD>
<EFBFBD><EFBFBD>BUG<EFBFBD><EFBFBD>valgrind is very good!
109) 2008.1.16
109.1) acl_vstream.c: ȫ<≯<EFBFBD><CCB8><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>׽ӿڵ<D3BF><DAB5><EFBFBD>д<EFBFBD><D0B4><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
109.2) acl_vstream.c: acl_vstream_xxx_ready <20><><EFBFBD>͵ĺ<CDB5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
109.3) acl_aio_read.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_EWOULDBLOCK, ACL_EAGAIN <20>Ĵ<EFBFBD><C4B4><EFBFBD>
109.4) acl_aio_read.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
109.5) acl_aio.c: acl_aio_open() <20><>ǿ<EFBFBD>ƽ<EFBFBD><C6BD>׽<EFBFBD><D7BD><EFBFBD>תΪ<D7AA><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
109.6) acl_inet_listen.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳٽ<D3B3><D9BD>յĹ<D5B5><C4B9><EFBFBD>(TCP_DEFER_ACCEPT)<29><>Ĭ<EFBFBD>ϵ<EFBFBD><CFB5>ӳ<EFBFBD> accept
ʱ<EFBFBD><EFBFBD>Ϊ30<EFBFBD>
108) 2008.1.15
108.1) acl_dbpool_mysql.c: һЩ<D2BB><D0A9>־<EFBFBD>ļ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> acl_msg_verbose<73><65><EFBFBD><EFBFBD>
107) 2008.1.10
107.1) acl_netdb_cache.c: DNS<4E><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>
106) 2008.1.9
106.1) acl_htable.c: acl_htable_enter, acl_htable_enter_r <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>KEYʱ<59><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>KEY<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򽫻ᵼ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
105) 2008.1.8
105.1) bugfix: acl_http_header.c->__add_request_item<65><6D>__add_cookie_item<65><6D><EFBFBD>жԱ<D0B6><D4B1><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ĵ洢ԭ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HTTP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACL<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҹò<EFBFBD><EFBFBD>ֺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BUG<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>lib_protocol <20><><EFBFBD><EFBFBD><E1B9A9><EFBFBD><EFBFBD>
<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
104) 2008.1.7
104.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_define.h <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WIN32<33><32><EFBFBD>صĶ<D8B5><C4B6><EFBFBD><EFBFBD><EFBFBD>Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
acl_define_win32.h<><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_define.h <20>ͱȽ<CDB1><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VC<EFBFBD><EFBFBD> extern<72><6E>C++<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
"fatal error C1045: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD>ӹ淶Ƕ<E6B7B6><C7B6>̫<EFBFBD><CCAB>"
<EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_define_xxx.h <20>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> extern "C" <20><><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD>ļ<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD>ˡ<EFBFBD>
<EFBFBD><EFBFBD>GCC<EFBFBD><EFBFBD>BC++ȴû<C8B4><C3BB><EFBFBD><EFBFBD><E2B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǻǡ<C7BA><C7A1><EFBFBD><EFBFBD><EFBFBD>BC++Ҳ<>бȽ<D0B1><C8BD><EFBFBD><EFBFBD>ĵط<C4B5><D8B7><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>뱣֤<EFBFBD><EFBFBD><EFBFBD>̵ģ<EFBFBD>option->Tlib->Page size ѡ<><D1A1>Ϊ 0x0020<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ 0x0010<31><30>
BC++Ҳ<>һ<E1B1A8><D2BB><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
[TLib Error] library too large, please restart with library page size 32
104.2) lib_acl/Makefile, Makefile.mysql: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>MYSQL<51>ı<EFBFBD><C4B1><EFBFBD>֧<EFBFBD><D6A7>
104.3) dist: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵİ<DCB5>װ<EFBFBD><D7B0>.
103) 2008.1.5
103.1) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><ECB2BD><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>: acl_aio_handle();
103.2) acl_aio_server.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>acl_aio_server_handle()<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD>Լ<EFBFBD>
<EFBFBD><EFBFBD>post_init()<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ͨ<EFBFBD><CDA8><EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><ECB2BD><EFBFBD>ܾ<EFBFBD><DCBE><EFBFBD><EFBFBD><EFBFBD>
103.2) acl_aio_server.c: bugfix, <20><> acl_master <20>˳<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڸ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̲<EFBFBD><CCB2>˳<EFBFBD><CBB3><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺر<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD>
102) 2007.12.30
102.1) acl_aio_read.c: <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
102.2) acl_vstream.c: Ϊ acl_aio_ <20><EFBFBD><ECB2BD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľӿ<C4BD>
102.3) unix_trigger.c, inet_trigger.c, stream_trigger.c: <20><><EFBFBD><EFBFBD> events_proc.c <20><>
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򣬽<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>¼<EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD>ij<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
101) 2007.12.25
101.1) master_status.c: master_status_event <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD>acl_vstream_readn<64>޸<EFBFBD>Ϊread
101.2) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5><C4B5><EFBFBD>timeo_fn()ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ر<EFBFBD>
101.3) acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD>رյı<D5B5><C4B1><EFBFBD>λ closing ͳһ<CDB3><D2BB> nrefer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
101.4) acl_aio.c: <20><>Ϊ<EFBFBD><CEAA><EFBFBD>ļ<EFBFBD>̫<EFBFBD><CCAB><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>˷ָ<D6B8>ֳɼ<D6B3><C9BC><EFBFBD>Сģ<D0A1><C4A3><EFBFBD>ļ<EFBFBD>
100) 2007.12.16
100.1) db/acl_dbsql.c, mysql/acl_dbmysql.c: <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>my_row <20><>Ӧ<EFBFBD><D3A6>MYSQL_ROW
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ const void**, ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ const void*, <20><>GCC<43>±<EFBFBD><C2B1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
100.2) msg/acl_aqueue.c, acl_aqueue_pop_timedwait <20>ĵȴ<C4B5>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪUNIX
<EFBFBD><EFBFBD>WIN32<EFBFBD>в<EFBFBD>ͬ<EFBFBD><EFBFBD>
100.3) protocol/, <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HTTP_STATUS_״̬<D7B4><CCAC><EFBFBD><EFBFBD>VC<56>ij<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>HTTP_STATUS_
ΪHTTP_CHAT_<EFBFBD><EFBFBD>
99) 2007.12.13
99.1) db/acl_dbpool.c: acl_dbpool_destroy<6F><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>BUG<55><47><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٺ<EFBFBD><D9BA><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ٴ<EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD>ͷ<EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD>ڴ档
98) 2007.12.7
98.1) acl_define.h: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_unused <20><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD>Ӧ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>ʱ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
97) 2007.11.6
97.1) aio/acl_aio.c: <20><>ֹ<EFBFBD><D6B9>©<EFBFBD><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>ش<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ж<EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>״̬
97.2) aio/acl_aio.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ע<EFBFBD><D7A2>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ø<EFBFBD><C3B8>ӵ<EFBFBD><D3B5><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷʵ<EFBFBD>Ƚϸ<EFBFBD><EFBFBD><EFBFBD>
97.3) feature: acl_netdb.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_DNS_DB <20>ĺ<EFBFBD><C4BA><EFBFBD>
acl_netdb_addip
96) 2007.11.5
96.1) aio/acl_aio.c: <20><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽдʧ<D0B4>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD>ŵĴ<C5B5><C4B4><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Ҽ<EFBFBD><D2BC>ݸ<EFBFBD>ƽ̨
96.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> errno, <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ acl_last_error(), <20><> strerror()
ת<EFBFBD><EFBFBD>Ϊ acl_last_strerror()<29><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>֤ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2>
96) 2007.11.3
96.1) net/listen/acl_inet_listen.c: acl_inet_listen():
if (nport <= 0) --> if (nport < 0), <20><>Ϊacl_msgio_listen<65><6E><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD>ĵ<EFBFBD>ַΪ
"127.0.0.1:0" <20>ĸ<EFBFBD>ʽ<EFBFBD><CABD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿ں<CBBF>
95) 2007.11.2
95.1) <20>޸<EFBFBD><DEB8><EFBFBD> protocol/ <20>µIJ<C2B5><C4B2>ֺ<EFBFBD><D6BA><EFBFBD>
94) 2007.11.28--11.30
94.1) <20><><EFBFBD><EFBFBD> master/ ģ<><C4A3>
94.2) <20>Ѻô󾢲<C3B4><F3BEA2B2>ҳ<EFBFBD> acl_master <20>޷<EFBFBD><DEB7><EFBFBD> AS3.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ԭ<EFBFBD><D4AD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_define.h <20>ж<EFBFBD><D0B6><EFBFBD> HAS_DUPLEX_PIPE, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B5BC>
master/framework/master_status.c <20>е<EFBFBD> acl_master_status_init() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdlib/iostuff/acl_duplex_pipe.c <20>е<EFBFBD> acl_duplex_pipe() <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>Զ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> pipe() ģʽ.
93) 2007.11.27
93.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>¸<EFBFBD><C2B8><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
93.2) <20><>LINUX<55><58>WINDOWS<57>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
92) 2007.11.26
92.1) stdlib/acl_msg.c, acl_mylog.c: <20><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD><EFBFBD>̺߳<DFB3>
91) 2007.11.25
91.1) db: <20><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
91.2) thread: <20><><EFBFBD><EFBFBD>WIN32<33><32><EFBFBD><EFBFBD>MYSQL<51><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, pthread_xxx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MYSQL<51>Ŀ<EFBFBD>
<EFBFBD><EFBFBD>ͻ, <20><><EFBFBD>Խ<EFBFBD> thread/ <20>µ<EFBFBD> pthread_xxx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ acl_pthread_xxx
90) 2007.11.23
90.1) portable: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŭ<EFBFBD><C5AC>, <20><><EFBFBD>ڽ<EFBFBD>WINDOWS<57><EFBFBD><E6B1BE>ACL<43><4C>UNIX<49><EFBFBD><E6B1BE>ACL<43>ϲ<EFBFBD><CFB2><EFBFBD>:)
89) 2007.11.11--11.12
89.1) feature: add the trigger framework to acl_master.
89.2) example: samples/master/trigger/, add one example for trigger
88) 2007.9.11
88.1) example: samples/http_probe, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD>HTTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
87) 2007.9.10
87.1) bugfix: spool/acl_spool.c, <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ص<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>.
87.2) bugfix: proto/http/http_chat.c, <20><>HTTPЭ<50><D0AD><EFBFBD>Ľ<EFBFBD><C4BD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>.
86) 2007.8.30
86.1) performance: master/acl_master_listen.c: <20><><EFBFBD><EFBFBD><EFBFBD>׽ӿڵļ<DAB5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
main.cf <20>е<EFBFBD> default_process_limit ֵ, <20><><EFBFBD><EFBFBD>ֵ<EFBFBD>Ƚ<EFBFBD>Сʱ<D0A1><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>׽ӿڵļ<DAB5><C4BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>Ƚ<EFBFBD>С, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD> accept() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ͨ<><CDA8><EFBFBD><EFBFBD> acl_master_listen.c
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ accept() <20><><EFBFBD><EFBFBD>.
87.2) bugfix: master/acl_aio_server.c->aio_server_wakeup() <20>е<EFBFBD> acl_vstream_fdopen
<EFBFBD>еĶ<EFBFBD>д<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ϊ 0, <20><>Ϊ<EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>׽ӿڵĶ<DAB5>д<EFBFBD><D0B4>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><D1AD>
<EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>0, <20><><EFBFBD><EFBFBD> stdlib/acl_vstream.c <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F>ʱ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> select() ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>, <20><EFBFBD><E2BDAB>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>IO<49><4F><EFBFBD><EFBFBD>.
85) 2007.8.26
85.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /dev/poll for solaris.
85.2) <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> engine/ <20><><EFBFBD>¼<EFBFBD><C2BC>ӿ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ӿ<EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ӿ<EFBFBD>(engine/events_define.h <20>д<EFBFBD><D0B4><EFBFBD> ACL_EVENTS_KERNEL <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> solaris <20><>ʹ<EFBFBD><CAB9> /dev/oll <20><><EFBFBD><EFBFBD> Linux Kernel2.6 <20><><EFBFBD>ϰ汾<CFB0><E6B1BE>ʹ<EFBFBD><CAB9>
epoll).
84) 2007.8.23
84.1) portable: rebuilt on solaris.
83) 2007.8.22
83.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD><C2BC>ע<EFBFBD><EFBFBD><E1BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
stdlib/acl_msg.c, acl_msg.h; <20><><EFBFBD>Ӳμ<D3B2> samples/master/spool_server/app_log.c.
82) 2007.8.21
82.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio_server.c <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
82.1) performance: master/acl_spool_server.c
82.3) bugfix: engine/events_thr.c, events_proc.c <20>й<EFBFBD><D0B9>ڶ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>޸<EFBFBD>
81) 2007.8.19
81.1) bugfix: engine/events_proc.c, Ϊ<><CEAA> master/ <20><><EFBFBD><EFBFBD>Ҫ, <20>޸<EFBFBD><DEB8><EFBFBD> events_proc.c,
<EFBFBD><EFBFBD> events_thr.c <20>е<EFBFBD> events_disable_readwrite() <20><><EFBFBD><EFBFBD><EFBFBD>ղ<EFBFBD><D5B2><EFBFBD>.
81.2) experiment: master/acl_aio_server.c, acl_aio_params.h, <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
master/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>.
80) 2007.8.14
80.1) <20><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD> engine/ <20>µļܹ<C4BC>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鶨λģʽ, <20><>
<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD> MS Windows ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>.
80.2) <20>޸ĵ<DEB8><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>: acl_events.c, events_proc.c, events_thr.c, acl_event.h
80.3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>: events_fdtable.c, events_fdtable.h
80.4) tagged as milestone
79) 2007.8.11
79.1) portable: <20>ɹ<EFBFBD><C9B9><EFBFBD> acl <20><><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2> Sun Solaris11 for x86.
79.2) bugfix: acl_vstream.c, event_thr.c, <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><ECB2BD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
78) 2007.8.8
78.1) performance: acl_spool.c, acl_vstream.h/acl_vstream.c: ͨ<><CDA8><EFBFBD><EFBFBD> ACL_VSTREAM
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_spool.c <20>е<EFBFBD><D0B5>ڲ<EFBFBD><DAB2><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>(ACL_SPOOL_CTX), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_spool_xxx <20><>ÿ<EFBFBD><C3BF>
<EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD>еķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>. (<28><> acl_aio.c <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
78.2) framework: samples/master/spool_server/, app_main.c/app_main.h, <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>˿<EFBFBD><EFBFBD>ܽӿڵĵ<EFBFBD><EFBFBD><EFBFBD>ģʽ, <20>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>.
77) 2007.8.7
77.1) bugfix: engine/event_proc.c
76) 2007.7.17
76.1) bugfix: acl_aio.c->acl_aio_connect() <20><>δԤ<CEB4><D4A4><EFBFBD><EFBFBD> data_buf <20><><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
76.2) add on sample: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ڸ߲<DAB8><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WEB<45><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(samples/http_auto),
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WEB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һֱ<EFBFBD><EFBFBD><EFBFBD>ָ߲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
75) 2007.7.12
75.1) performance: һ<><D2BB><EFBFBD>̶<EFBFBD><CCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_aio.c <20><><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
74) 2007.7.11
74.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Linux2.6 <20><> epoll <20><>֧<EFBFBD><D6A7>
74.2) performance: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(acl_aio.c, acl_vstream.c)
74.3) example: <20><><EFBFBD><EFBFBD>HTTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(webstar)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>Դﵽ450Mbits/s,
12500 request/sec. (./ab -n 1000000 -c 5000 -k http://ip:8080/postfix/)
73) 2007.6.7
73.1) feature: acl_spool.c/acl_spool.h, acl_aio.c/acl_aio.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD>̰߳汾, <20><><EFBFBD>ֵ<EFBFBD><D6B5>̰߳汾<CCB0>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ƕ<EFBFBD><C7B6>̰߳汾<CCB0><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>1.5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>̵߳<DFB3><CCB5>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>), <20><><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD><EFBFBD>μ<EFBFBD>:
sample/aio/. <20><><EFBFBD>̰߳汾: 41002 <20><>/<2F><>; <20><><EFBFBD>̰߳汾: 26549 <20><>/<2F><>.
72) 2007.5.29
72.1) bugfix: acl_htable.c/acl_htable.h, <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼߳<DFB3><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>µĽӿں<D3BF><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
71) 2007.5.27
70.1) acl_htable.c/acl_htable.h: <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>ܼ<EFBFBD><DCBC>̰߳<DFB3>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
70.2) <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD>ϣ<EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_hash.c, acl_hash.h <20><>
70) 2007.5.21
70.1) acl_dbpool.c, acl_dbpool.h: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ù<EFBFBD><C3B9>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD><EFBFBD><E2B9A6>
69) 2007.5.20
69.1) acl_spool.c, acl_workq.c: <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĺ<D8B5><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
68) 2007.5.11
68.1) feature: spool/acl_spool.c, acl_spool.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
68.2) engine/acl_event.c acl_event.h, event_thr.c, event_proc.c: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ͬʱʹ acl_event_request_timer/acl_event_cancel_timer <20>߱<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>̹߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
67) 2007.5.7
67.1) bugfix: aio/acl_aio.c: acl_aio_read() <20>д<EFBFBD><D0B4>ݵ<EFBFBD><DDB5>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
66) 2007.4.16
66.1) ע<><D7A2>: aio/acl_aio.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ע<EFBFBD><D7A2>
65) 2007.4.14--4.15
65.1) feature: <20><><EFBFBD><EFBFBD> http/ Э<><D0AD><EFBFBD><EFBFBD>...
65) 2007.4.11
65.1) bugfix: aio/acl_aio.c, acl_aio_readn() <20>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>©<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>.
64.2) feature: <20><><EFBFBD><EFBFBD> http/ Э<><D0AD><EFBFBD><EFBFBD>...
64) 2007.4.10
64.1) feature: <20><><EFBFBD><EFBFBD> http/ Э<><D0AD><EFBFBD><EFBFBD>...
63) 2007.4.9
63.1) feature: aio/acl_aio.c, stdlib/acl_vstream.c, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD>N<EFBFBD><4E><EFBFBD>ֽڵĺ<DAB5><C4BA><EFBFBD>.
63.1) feature: <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> proto/http/ Э<><D0AD><EFBFBD><EFBFBD>...
62) 2007.4.8
62.1) bugfix: engine/events_thr.c, ȥ<><C8A5><EFBFBD><EFBFBD> select() ֮<><D6AE><EFBFBD>Գ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>趨.
62.2) util/aio/: <20>޸<EFBFBD><DEB8>˺<EFBFBD><CBBA><EFBFBD><EFBFBD>ӿڵĶ<DAB5><C4B6>ʽ, ʹ<>ӿڵ<D3BF><DAB5>÷<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
61) 2007.4.7
61.1) <20><><EFBFBD><EFBFBD><EFBFBD>첽AIO<49><4F><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD>첽IO<49>Ŀ<EFBFBD>(util/aio/).
61.2) <20><EFBFBD>첽IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: samples/aio/.
60) 2007.4.6
60.1) <20>޶<EFBFBD><DEB6><EFBFBD> master/acl_master_ent.c <20>е<EFBFBD>һ<EFBFBD><D2BB>BUG: acl_free_master_ent() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_array_destroy() <20>ĵ<EFBFBD><C4B5><EFBFBD>Ӧ<EFBFBD><D3A6> acl_myfree((char *) serv) ֮ǰ.
59) 2007.4.5
59.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aio/ <20><><EFBFBD><EFBFBD><EFBFBD>첽IO<49><4F><EFBFBD><EFBFBD>, net/acl_vstream_aync.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
58) 2007.4.1
58.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master/acl_spool_server.c, <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD> spool/acl_spool.c
58.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> engine/event_thr.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> timer <20><> event_loop() <20>ĵ<EFBFBD><C4B5>ù<EFBFBD>ϵ, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>ģʽ<C4A3><CABD> select() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֵ<EFBFBD><D6B5>Ӱ<EFBFBD><D3B0>
57) 2007.3.25
57.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳص<D3B3>״̬<D7B4><CCAC>¼<EFBFBD><C2BC>־: util/spool/mysql/acl_dbpool_mysql.c
57.2) <20><><EFBFBD><EFBFBD> mysql <20><><EFBFBD>ص<EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ֶ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>: depends/
57.3) bugfix: <20>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĴ<D8B5><C4B4><EFBFBD>
56) 2007.3.24
56.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ÿ<EFBFBD><C3BF>ܼ<EFBFBD><DCBC><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳؿ<D3B3><D8BF><EFBFBD> spool/.
56.2) example: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master/listener_server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
56.3) performance: <20>޸<EFBFBD><DEB8><EFBFBD> event_thr.c->event_loop() <20><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ij<EFBFBD>ͻ.
55) 2007.2.15
55.1) master/, net/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:)
55.2) <20><> app/master/ <20><EFBFBD><E9B2A2> samples/ <20><>.
54) 2007.2.14
54.1) feature: stdlib/acl_vstream.c, stdlib/acl_vstream.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_fprintf,
acl_vstream_vfprintf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>󷽱<EFBFBD><F3B7BDB1><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʽд<CABD><D0B4><EFBFBD><EFBFBD>.
53) 2007.2.13
53.1) <20><> master/, trigger/, net/ Ŀ¼<C4BF>µ<EFBFBD>һЩ<D2BB>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD> acl/ACL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ע: <20>ⲿ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><DCB1><EFBFBD>ͨ<EFBFBD><CDA8>, <20><>δ<EFBFBD><CEB4><EFBFBD>ֽ<EFBFBD><D6BD>в<EFBFBD><D0B2><EFBFBD>.
52) 2007.2.3--2.4
52) unit_test: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
52.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0> aut_, <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0> AUT_
52.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD>̵ĵ<CCB5><C4B5>÷<EFBFBD><C3B7><EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
51) 2007.1.27
51.1) feature: <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> listener_server.c/listener_params.h, <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Ϊ master <20><>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>, <20><>ģ<EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿڼ<D3BF><DABC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳صķ<D8B5><C4B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͺܺõĽ<C3B5><C4BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
֧<EFBFBD>ְ<EFBFBD>פ<EFBFBD><EFBFBD>ʽ<EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD>̷߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>; ͬʱ<CDAC><CAB1>ģ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fork һ<><D2BB><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>ģʽ<C4A3><CABD>
51.2) bugfix: event_proc.c/event_thr.c event_XXX_loop <20><><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> timer <20><><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>.
50)2006.10.20
50.1) app/squid/analog: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
49)2006.8.29
49.1) util/net/acl_vstream_async.c: <20>޶<EFBFBD><DEB6><EFBFBD>һ<EFBFBD><D2BB>BUG, <20>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ͻ<EFBFBD><CDBB>
49.2) util/stdlib: acl_mymalloc.c, acl_mymalloc.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵĺ<C5B5><C4BA><EFBFBD><EFBFBD><EFBFBD><><CDA8><EFBFBD><EFBFBD> acl_mymalloc.h
<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: #define DEBUG_FREE <20><><EFBFBD>ش򿪼<D8B4><F2BFAABC><EFBFBD>)<29><>
48) 2006.8.28
48.1) util/stdlib/acl_vstream.c: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>acl_vstream_gets_ready()/acl_vstream_gets_nonl_ready(), ʹ<>첽ͨ<ECB2BD><CDA8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ACL_VSTREAM <20><><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
48.2) util/net: acl_vstream_async.c/acl_vstream_async.h, <20><>Ϊ acl_vstream.c <20>Ӹ<EFBFBD><D3B8>ײ<EFBFBD><D7B2><EFBFBD>˽ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ģʽ<EFBFBD><EFBFBD>
47) 2006.8.25
47.1) util/net: acl_vstream_async.c/acl_vstream_async.h, <20>޸<EFBFBD><DEB8><EFBFBD>һ<EFBFBD><D2BB>BUG, <20><><EFBFBD>ݼ<EFBFBD> acl_vstream_async.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
46 ) 2006.8.11
46.1) util/servtmpl: acl_workq.c/acl_workq.h, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD>ӳع<D3B3><D8B9>ܵĵ<DCB5><C4B5><EFBFBD>
45) 2006.7.28
45.1) util/code/, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BASE64<36><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
44) 2006.7.27
44.1) util/engine/acl_event.c, <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5>ж<EFBFBD>
44.2) util/master/master_conf.c, <20><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
43) 2006.7.24
43.1) app/weboe/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>ģ<EFBFBD><C4A3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB>Բ<EFBFBD><D4B2><EFBFBD>, ˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʽ<EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD>.
42) 2006.7.23
42.1) <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>BUG<55>޸<EFBFBD>, event_thr.c->event_thr_loop() <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>, <20>ı<EFBFBD><C4B1><EFBFBD> dipatch_fn() <20>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD>ӿڲ<D3BF><DAB2><EFBFBD>,
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŲ<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
42.2) event_thr.c->event_thr_loop() <20><><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD>ijһ<C4B3><D2BB><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ͻ.
41) 2006.7.11
41.1) <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵõ<DCB5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
40) 2006.7.5
40.1) Bugfix: acl_vstream_async.c->__handle_line_data() <20><><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
39) 2006.7.3 night
39.1) Feature: ͨ<><CDA8><EFBFBD>޸<EFBFBD> __handle_line_data(), acl_vstream_async_buf_new() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>Ч<EFBFBD><D0A7>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
39.2) Feature: ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_vstream_async_buf_new() <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>޸<EFBFBD> __handle_line_data() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵij<EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>Ӷ<EFBFBD><D3B6><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2BBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
38) 2006.7.2
38.1) Bugfix: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>첽ͨ<ECB2BD>ſ<EFBFBD><C5BF><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD>һ<EFBFBD>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: util/net/acl_vstream_async.c <20><>
<EFBFBD><EFBFBD> __handle_line_data() <20><><EFBFBD><EFBFBD>.
38.2) <20><> util/stdlib/acl_vstream.c, .h <20>е<EFBFBD> acl_vstream_vstring_readn <20><><EFBFBD><EFBFBD>Ϊ:acl_vstream_vstring_append_readn
37) 2006.6.23
Feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽ͨ<ECB2BD>ŵĽӿ<C4BD>: util/stdlib/acl_vstream.c, util/engine/acl_events.c,
util/net/acl_vstream_async.c. <20><> ACL_VSTREMA <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: close_handle_lnk, <20>Ա<EFBFBD>֤
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>ǰ<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD>ڸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><> ACL_EVENT <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>Ա
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: lock_mutex, <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>¼<EFBFBD><C2BC><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5>¼<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
<EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD>, <20>Ӷ<EFBFBD>ʹ acl_vstream_async.c <20>в<EFBFBD><D0B2>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>, <20><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_events.c<><63>.
36) 2006.6.15
Bugfix: <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3><CCB2><EFBFBD>ȫ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>: util/net/myaddinfo.c
Bugfix: util/net/acl_vstream_net.c <20>е<EFBFBD>acl_vstream_connect() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> acl_vstream_fdopen()
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
35) 2006.6.13
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: app/squid/probe
34) 2006.6.8
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̿ⲿ<EFBFBD><EFBFBD>.
Feature: <20><><EFBFBD><EFBFBD><EFBFBD>̶߳<DFB3>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, util/ipc/acl_thread_rwlock.c, acl_thread_rwlock.h
Feature: <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ڴ<EFBFBD>DB<44><42><EFBFBD>øÿ<C3B8><C3BF><EFBFBD>
33) 2006.6.7
Bugfix: <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> acl_vstream_fdopen() ʱ<>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>BUG!!!, <20><><EFBFBD>˺ô󾢲<C3B4><F3BEA2B2>ҳ<EFBFBD><D2B3>˴<EFBFBD><CBB4><EFBFBD>:(
Test: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳ؿ<CCB3><D8BF><EFBFBD>ʵ<EFBFBD><CAB5>(app/thread_server/server2, server3)
32) 2006.6.6
д<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳̿<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>(app/thread_server/server1)
31) 2006.6.4
Ϊ<EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿռ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_ ǰ׺<C7B0><D7BA>ͬʱ<CDAC><CAB1>
Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_ ǰ׺<C7B0><D7BA><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ acl_project <20><><EFBFBD><EFBFBD>. ---zsx
ע<EFBFBD><EFBFBD> acl <20><> advanced c library <20><>Ӣ<EFBFBD>ļ<EFBFBD>д.
<20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>߾<EFBFBD><DFBE><EFBFBD>ʹ<EFBFBD><CAB9> ACL_ <20><>ͷ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ԡ<EFBFBD>
30) 2006.5.30
Feature(debug status): 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>̳߳صĿ<D8B5>: servertmpl/workq.c, workq.h, worker.c, worker.h
Name: ȷ<><C8B7><EFBFBD>Ժ󽫱<D4BA><F3BDABB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ : ACL(<28>߼<EFBFBD><DFBC><EFBFBD> C <20><>)
29) 2006.4.30
Portable: <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Makefile<6C><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>еı<D0B5><C4B1><EFBFBD>ѡ<EFBFBD><D1A1> -gdwarf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -g<><67><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>µ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>:(
28) 2005.12.14
Feature: 1) <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> vstream_fseek <20><><EFBFBD><EFBFBD>, <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>, <20>Ұѵ<D2B0>һ<EFBFBD><EFBFBD><E6B1BE> vstream_fseek
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ vstream_fseek2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>˲<EFBFBD><CBB2>Դ<EFBFBD><D4B4><EFBFBD>.
27) 2005.12.13
Feature: 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vstream_fseek <20><><EFBFBD><EFBFBD>
26) 2005.10.24
Feature: 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> util/stdlib/filedir/make_dirs.c <20>ļ<EFBFBD>, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>༶Ŀ¼
25) 2005.10.8
Bugfix: 1) <20><> app/master/multi_proxy/multi_proxy.c <20><>, <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱû<CAB1>н<EFBFBD><D0BD>ļ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
<EFBFBD>Ľ<EFBFBD>β, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> O_APPEND, ʹÿ<CAB9>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʹ<EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
Feature: 1) <20><> app/master/master.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д master <20><><EFBFBD>̵<EFBFBD> pid <20>Ĺ<EFBFBD><C4B9><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD> stop.sh
֮<EFBFBD><EFBFBD><EFBFBD>Ľű<EFBFBD><EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><EFBFBD><EFBFBD>.
24) 2005.9.27
Feature: 1) <20><><EFBFBD><EFBFBD> multi_server.c <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD>¼<EFBFBD><C2BC>Ϣ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
23) 2005.9.26
Bugfix: 1) <20>޸<EFBFBD><DEB8><EFBFBD> __proc(thread)__event_loop() <20>е<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> nowait != 0 ʱ, Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8> tvp
<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD> select() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ȴ<EFBFBD>; 2) multi_server.c <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> switch() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD><C8B1>һ<EFBFBD><D2BB> break.
Feature: 1) <20>޸<EFBFBD><DEB8><EFBFBD> multi_proxy.c <20>ļ<EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><C3B8><EFBFBD>ͨ<EFBFBD><CDA8>:)
22) 2005.9.25
Feature: 1) <20><><EFBFBD><EFBFBD> multi_server.c, <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>ʱ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3>Ķ<EFBFBD><C4B6><EFBFBD>ʱ<EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>м<EFBFBD>ֵ.
21) 2005.9.22
Bugfix: 1) ͨ<><CDA8><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>Ϊ2, 4, 4096, 8192)ʱ, <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(multi_proxy)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(event.c)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
event_disable_readwrite()<29><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>ÿɶ<C3BF>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, <20><>Ϊ ..._event_loop() <20><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD>˲<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD> select() ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>صĴ<D8B5><C4B4><EFBFBD>: <20>зǷ<D0B7><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EVENT <20>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ..._event_loop() <20>еľֲ<C4BE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD>޸ĵ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>: event.c, event.h
20) 2005.9.19
Portable: 20.1) can run on HP-UX
19) 2005.9.11
Workaround: 19.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> multi_server.c <20><><EFBFBD>ܵĴ<DCB5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 19.2) <20>޲<EFBFBD><DEB2><EFBFBD> multi_server.c <20>еļ<D0B5>
<EFBFBD><EFBFBD> bug
18) 2005.9.10
Workaround: 18.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ, <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>һһЩ<D2BB><D0A9><EFBFBD>õı<C3B5><C4B1><EFBFBD>
17) 2005.9.9
Bugfix: 17.1) <20>޸<EFBFBD><DEB8><EFBFBD> events.c <20>е<EFBFBD>һ<EFBFBD><D2BB> bug
Feature: 17.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD>: single_proxy/
16) 2005.9.6
Workaround: 16.1) <20><>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD> SUN ƽ̨<C6BD><CCA8>, <20><><EFBFBD>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD>
15) 2005.9.5
Feature: 15.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VSTREAM_STDIN, VSTREAM_STDOUT, VSTREAM_STDERR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
14) 2005.9.4
Workaround: 14.1) ʹ multi_server() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>
Bugfix: 14.1) <20>޸<EFBFBD><DEB8><EFBFBD> servtmpl/event.c <20>е<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD> bug: <20><><EFBFBD>п<EFBFBD><D0BF>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>
select() <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʱ<EFBFBD><CAB1><EFBFBD>ȴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 0.
13) 2005.8.28
Workaround: 13.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʽ, ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> throttle_delay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̷<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD>ֹͣ<CDA3><D6B9>Ӧ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ throttle_delay.
12) 2005.8.27
Workaround: 12.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳɹ<C8B3><C9B9><EFBFBD><EFBFBD><EFBFBD> single_server <20>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ:)
11) 2005.8.24
Workaround: 11.1) <20>޸<EFBFBD><DEB8><EFBFBD> events.c/.h, ʹ֧֮<D6AE>ֽ<EFBFBD><D6BD>̳ص<CCB3>ģʽ, <20>ڽ<EFBFBD><DABD>̳<EFBFBD>ģʽ<C4A3>²<EFBFBD><C2B2><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>æ״̬; <20><><EFBFBD>̳߳<DFB3>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>æ״̬; 11.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> util/master/ <20>µ<EFBFBD><C2B5>ļ<EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
10) 2005.8.21
Bugfix: 10.1) <20>޸<EFBFBD><DEB8><EFBFBD> xinetd_cfg.c <20>е<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Feature: 10.1) <20><><EFBFBD><EFBFBD> xinetd_cfg.c/.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xinetd_cfg_index(...) <20><><EFBFBD><EFBFBD>
Workaround: 10.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master/ <20><EFBFBD><E2BAAF>
9) 2005.8.15
Workaround: 9.1) <20><><EFBFBD><EFBFBD>ʹ master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:) util/master/: master_vars.c, master_params.c,
master_params.h, master_conf.c, master_service.c, master.h, master_ent.c, master_avail.c,
master_sig.c, master_spawn.c, master_status.c, master_wakeup.c
8) 2005.8.14
Workaround: 8.1) <20><> master <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>:), app/master/: master.c
7) 2005.8.9
Bugfic: 7.1) <20>޲<EFBFBD><DEB2><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9>Ĵ<EFBFBD><C4B4><EFBFBD>, master_ent.c
Workaround: 7.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master/ Ŀ¼<C4BF>µ<EFBFBD><C2B5>ļ<EFBFBD>, <20><>ʣ<EFBFBD><CAA3> mail_flow.c <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>ļ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>.
6) 2005.8.8
Workaround: 6.1) <20>޸<EFBFBD><DEB8><EFBFBD>Ŀ¼<C4BF>ṹ, <20><> stdlib/ Ŀ¼<C4BF>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD> proc_specific/ Ŀ¼, <20><>Ŀ¼<C4BF><C2BC><EFBFBD>󽫴<EFBFBD><F3BDABB4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD>̱<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>õĿ⺯<EFBFBD><EFBFBD>, <20><>Щ<EFBFBD><EFBFBD><E2BAAF><EFBFBD><EFBFBD><EFBFBD>̲߳<DFB3><CCB2><EFBFBD>ȫ<EFBFBD><C8AB>; 6.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> watchdog <20><><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ר<EFBFBD>ŵ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>(test_util/watchdog/), <20><><EFBFBD><EFBFBD> test_util/inet/; 6.3) <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>(cgi-rep.h <20><>
cgi-util.h), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> C++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>֧<EFBFBD><D6A7>.; 6.4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (master/)
5) 2005.7.29
Feature: 5.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><ECB2BD><EFBFBD>еĶ<D0B5><C4B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD>첽SOCKET<45><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>).
event.h, event.c, vstream_async.c, vstream_async.h, readline_async/, tcp_proxy/.
4) 2005.7.25
Feature: 4.1) <20><> vstream.c <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vstream_vstring_readn(), <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vstring <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>; 4.2) <20><> vstream_async.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vstream_async_gets(), <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϊ<EFBFBD>¼<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ż<EFBFBD>֪ͨӦ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD>, <20><>ʵ<EFBFBD><CAB5><EFBFBD>˶<EFBFBD>ȡ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ.
Test: 4.1) <20><> app/ Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD>: readline_async/, <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><ECB2BD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĿ⺯<C4BF><E2BAAF>.
3) 2005.7.18
Workaround: 3.1) <20>޸<EFBFBD><DEB8><EFBFBD> vstream_net.c/h <20>ļ<EFBFBD>, <20><> vstream_listen2 <20>޸<EFBFBD>Ϊ vstream_listen_ex, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> block_mode <20>IJ<EFBFBD><C4B2><EFBFBD>, <20>Ӷ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>ģʽ; 3.2) vstream_async.c, <20><> vstream_listen_ex
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NON_BLOCKING <20><><EFBFBD><EFBFBD>.
2) 2005.7.10
Workaround: 2.1) <20><><EFBFBD>¸<EFBFBD>д<EFBFBD>˸<EFBFBD><CBB8><EFBFBD> Makefile <20>ļ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> gcc <20><><EFBFBD><EFBFBD><EBBBB9><EFBFBD><EFBFBD> g++ <20><><EFBFBD><EFBFBD>;
2.2) <20>޸ĸ<DEB8><C4B8><EFBFBD> .c <20><> .h <20>ļ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> g++ <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EBBEAF>, <20><>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>һ
Щ C++ <20>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD>.
1) 2005.7.9
Bugfix: <20>޶<EFBFBD><DEB6><EFBFBD> servtmpl/events.c <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD> BUG, 1.1) event_enable_write() <20><> event_enable_read()
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD>ֹ<EFBFBD><EFBFBD>һ<EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; 1.2) event_loop() <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱû
<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>æ״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.