acl/lib_fiber/changes.txt

247 lines
7.7 KiB
Plaintext
Raw Normal View History

64) 2017.9.27
64.1) workaround: Ϊ<><CEAA><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> valgrind <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD>ڲ<EFBFBD>һЩ<D2BB><D0A9>̬<EFBFBD><CCAC>ȫ<EFBFBD>ֶ<EFBFBD>̬
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD>ͷţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò鿴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2017-09-23 19:51:03 +08:00
63) 2017.9.23
63.1) feature: hook_io.c ֧<><D6A7> hook mkdir
62) 2017.9.22
62.1) feature: hook_io.c ֧<><D6A7> hook stat/fstat/lstat
61) 2017.9.20
61.1) feature: hook_net.c ֧<><D6A7> epoll_create1 API
60) 2017.9.18
60.1) feature: <20><><EFBFBD><EFBFBD> fiber_trigger <20><><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD>ʱ<EFBFBD><EFBFBD><E4B4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
59) 2017.9.10
59.1) feature: Э<>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD> reload <20><><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>ִ<EFBFBD><D6B4>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master
2017-07-22 21:32:21 +08:00
2017-08-25 13:34:48 +08:00
58) 2017.8.25
58.1) feature: <20><><EFBFBD><EFBFBD> C++ <20><EFBFBD><E6B1BE>Э<EFBFBD>̶<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> fiber_timer
58.2) feature: acl_fiber_create_timer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
57) 2017.8.21
57.1) feature: fiber_server.c <20><><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱҲ<CAB1><D2B2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8> master_reuseport
ѡ<EFBFBD><EFBFBD>
56) 2017.7.27
56.1) compile: master_fiber.hpp <20><>ȥ<EFBFBD><C8A5><EFBFBD>˶<EFBFBD> master_base.hpp <20>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
56.2) compile: lib_fiber.h <20><>ȥ<EFBFBD><C8A5><EFBFBD>˶<EFBFBD> lib_acl.h <20>İ<EFBFBD><C4B0><EFBFBD>
2017-07-22 21:32:21 +08:00
55) 2017.7.22
55.1) feature: master_fiber <20><><EFBFBD><EFBFBD> get_conf_path, acl_fiber_server.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_fiber_server_conf<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
54) 2017.7.7
54.1) feature: master/fiber_server.c <20>н<EFBFBD> fiber_sleep Э<>̵<EFBFBD>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD> STACK_SIZE ȱʡֵ<CAA1><D6B5> 64 K <20><>Ϊ 128 K<><4B><EFBFBD><EFBFBD>ֵҲ<D6B5><D2B2><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Э<EFBFBD>̵<EFBFBD>ջȱʡ<EFBFBD><EFBFBD>С
53) 2017.7.4
53.1) feature: fiber_server.c/master_fiber.cpp ֧<><D6A7> SIGHUP <20>źŻص<C5BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
53.2) <20>ع<EFBFBD> fiber_server.c/master_fiber.cpp <20><><EFBFBD><EFBFBD>
52) 2017.7.2
52.1) feature: fiber_server.c ֧<>ֶ<EFBFBD><D6B6>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>ģʽ
51) 2017.6.6
51.1) feature: fiber_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>ǰ<EFBFBD>Ĺ<EFBFBD><C4B9>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>н<EFBFBD><D0BD>У<EFBFBD><D0A3>Ӷ<EFBFBD>ʹ
<EFBFBD>öδ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
50) 2017.5.16
50.1) feature: fiber_server.c Э<>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
2017-05-01 11:51:04 +08:00
49) 2017.5.1
49.1) samples/pgsql: <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD> postgresql <20>Ŀͻ<C4BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2017-04-11 23:14:39 +08:00
48) 2017.4.24
48.1) bugfix: fiber.s <20><> acl_fiber_set_specific <20>ڵ<EFBFBD><DAB5><EFBFBD> realloc <20><><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
ʱӦ<EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>еIJ<EFBFBD><EFBFBD><EFBFBD> NULL
2017-04-22 19:39:13 +08:00
------------------------------------------------------------------------------
2017-04-13 21:50:55 +08:00
47) 2017.4.13
47.1) feature: hook_net.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> getaddrinfo <20><>֧<EFBFBD><D6A7>
2017-04-11 23:14:39 +08:00
46) 2017.4.10
46.1) feature: Э<><D0AD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>ͬһ<CDAC>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>߳<EFBFBD>ʹ<EFBFBD><CAB9>
45) 2017.3.29
45.1) bugfix: <20><>һ<EFBFBD><D2BB>Э<EFBFBD>̴<EFBFBD><CCB4><EFBFBD> poll wait ״̬ʱ<CCAC><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Э<EFBFBD><D0AD> kill <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> event.c <20>ж<EFBFBD> poll list <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD> pop <20><>ʽ<EFBFBD><CABD>ͬʱ<CDAC><CAB1>
hook_net.c <20>е<EFBFBD> poll <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD> kill ʱ<>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뱾 BUG <20><><EFBFBD>ص<EFBFBD><D8B5>ļ<EFBFBD><C4BC><EFBFBD>
fiber.c, hook_net.c, event.c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hook_net.c <20><> event.c <20>е<EFBFBD><D0B5>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>
44) 2017.3.28
44.1) feature: fiber.c <20><> fiber_alloc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
free->malloc<6F><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD> realloc<6F><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ʹ<EFBFBD><CAB9> tcmalloc ʱ<><CAB1> valgrind
<EFBFBD><EFBFBD><EFBFBD>ڴ澯<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
43) 2017.3.23
43.1) feature: fiber.c <20><> acl_fiber_signal/acl_fiber_kill <20>У<EFBFBD><D0A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> errno
Ϊ ECANCELED
42) 2017.3.9
42.1) compile: ?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBEAF>
42.2) workaround: master_fiber <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> run_alone ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ж<EFBFBD>ȡ
2017-02-12 21:39:38 +08:00
41) 2017.2.9
41.1) bugfix: fiber.c <20>У<EFBFBD>fiber_init <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ñ<EFBFBD><C3B1>뱣֤ __sys_errno Ϊ NULL ʱ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ __sys_errno <20><>ʹ<EFBFBD><CAB9>
2017-02-12 21:39:38 +08:00
40) 2017.1.23
40.1) workaround: Э<>̺<EFBFBD>ͳһ<CDB3>ij<EFBFBD><C4B3>޷<EFBFBD><DEB7><EFBFBD> 32 λ<><CEBB><EFBFBD><EFBFBD>
2017-01-12 20:09:06 +08:00
39) 2017.1.12
39.1) bugfix: Э<><D0AD><EFBFBD><EFBFBD>˫ͨģʽ<C4A3>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>дʱ<D0B4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ӳٹر<D9B9>
<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2017-01-12 20:09:06 +08:00
38) 2017.1.5
38.1) bugfix: fiber.c <20>к<EFBFBD><D0BA><EFBFBD> acl_fiber_killed <20>е<EFBFBD><D0B5>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
2016-12-31 13:52:34 +08:00
37) 2016.12.31
37.1) feature: <20><><EFBFBD><EFBFBD> acl_fiber_signal <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD>̷<EFBFBD><CCB7>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ź<EFBFBD>
2016-12-31 13:52:34 +08:00
36) 2016.12.27
36.1) bugfix: fiber.cpp <20><> kill <20><><EFBFBD><EFBFBD><EFBFBD>轫 f_ <20><>Ա<EFBFBD><D4B1> NULL<4C><4C><EFBFBD><EFBFBD>ֹǶ<D6B9>׷<EFBFBD><D7B7>ʷǷ<CAB7><C7B7><EFBFBD>ַ
36.2) feature: fiber.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>е<EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD> fiber <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D6BB><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ true)<29><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD> fiber <20>еķ<D0B5><C4B7><EFBFBD>
35) 2016.12.19
35.1) feature: fiber.c <20><><EFBFBD>й<EFBFBD>Э<EFBFBD>ֲ̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>
35.2) bugfix: fiber.c <20>е<EFBFBD>Э<EFBFBD><D0AD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><CAB1>Э<EFBFBD>ֲ̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>δ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
35.3) sample: samples/fiber_local<61><6C><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>Э<EFBFBD>ֲ̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD>
34) 2016.12.16
34.1) bugfix: hook_net.c, hook_io.c, event_epoll.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ hook <20>˺ܶ<CBBA>ϵͳ<CFB5><CDB3>
API<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> main <20><><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ǰ<EFBFBD><C7B0>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ API ʱ<><CAB1><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>Ϊ hook <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ
<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ NULL<4C><4C><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-12-08 13:13:30 +08:00
33) 2016.12.8
33.1) bugfix: hook_net.c <20>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>ģʽ<C4A3>£<EFBFBD>hook epoll <20><><EFBFBD><EFBFBD> API Ӧ<>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-12-08 13:13:30 +08:00
32) 2016.12.3
32.1) feature: acl_fiber_kill <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_fiber_sleep, acl_fiber_sem,
acl_fiber_mutex_lock <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>
31) 2016.11.28
31.1) feature: fiber.cpp <20>У<EFBFBD>fiber <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> kill <20><> killed <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>
<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ָ<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD>˳<EFBFBD>
2016-10-31 14:04:43 +08:00
30) 2016.11.27
30.1) bugfix: fiber.c <20>к<EFBFBD><D0BA><EFBFBD> acl_fiber_create <20>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC>
__thread_fiber->fibers <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> realloc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ治<DAB4><E6B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ __thread_fier->size
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
29) 2016.11.24
29.1) feature: <20><><EFBFBD><EFBFBD> acl_fiber_kill <20>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>ָ֪ͨ<D6AA><D6B8>Э<EFBFBD><D0AD><EFBFBD>˳<EFBFBD>
2016-10-31 14:04:43 +08:00
28) 2016.10.31
28.1) feature: fiber.c <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD> __i386__ <20><> SETJMP<4D><50>LONGJMP <20>Ļ<EFBFBD><C4BB>ʽ<E0B7BD><CABD><EFBFBD><EFBFBD>
libdill <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-10-31 14:04:43 +08:00
27) 2016.10.19
27.1) bugfix: fiber_io.c <20>е<EFBFBD> __thread_fiber->loop_fn û<>и<EFBFBD><D0B8><EFBFBD>ֵ
2016-09-28 16:05:55 +08:00
26) 2016.9.25
26.1) feature: <20><><EFBFBD><EFBFBD> acl_fiber_post_event <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>¼<EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-09-28 16:05:55 +08:00
2016-09-22 22:50:45 +08:00
25) 2016.9.22
25.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_fiber_stop --> acl_fiber_schedule_stop,
2016-09-22 22:50:45 +08:00
acl::fiber::stop --> acl::fiber::schedule_stop
24) 2016.9.21
24.1) bugfix: hook_io.c <20>е<EFBFBD> writev() <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD> fiber_writev()
23) 2016.9.1
23.1) feature: ֧<><D6A7> C++11 <20><><EFBFBD>ܣ<EFBFBD>ʹ<EFBFBD><CAB9> lambda <20><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>Э<EFBFBD≯<EFBFBD><CCB8>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------------
2016-08-27 18:34:02 +08:00
22) 2016.8.25
22.1) feature: hook_io.c <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> fiber_xxx IO <20>ӿ<EFBFBD>
2016-08-17 15:17:07 +08:00
21) 2016.8.17
21.1) performance: fiber.c <20>к<EFBFBD><D0BA><EFBFBD> fiber_alloc <20>ڴ<EFBFBD><DAB4><EFBFBD>Э<EFBFBD><D0AD>ջʱʹ<CAB1><CAB9> malloc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> calloc<6F><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><E1BDBB><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD>̵<EFBFBD>ʵ<EFBFBD><CAB5>ռ<EFBFBD><D5BC><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>С
21.2) bugfix: hook_io.c <20>е<EFBFBD> read <20>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> < 0 ʱ<><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> errno
21.3) bugfix: fiber_io.c, acl_fiber_delay <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ev->timeout ֵ
21.4) performance: hook_net.c <20><> hook <20><>ϵͳ accept API <20>Ż<EFBFBD><C5BB>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>
<EFBFBD>Ӷ<EFBFBD>ʹ accept <20>ٶȸ<D9B6><C8B8><EFBFBD>
2016-08-17 15:17:07 +08:00
20) 2016.8.16
20.1) portable: fiber.c <20><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF> SETJMP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2>
2016-08-17 15:17:07 +08:00
19) 2016.8.10
19.1) performance&feature: <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> setjmp/longjmp <20><><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
18) 2016.8.7
18.1) feature: fiber.c <20><><EFBFBD><EFBFBD> acl_fiber_schedule <20><><EFBFBD><EFBFBD>ǰ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD> acl_var_hook_sys_api
<EFBFBD><EFBFBD> 0<><30><EFBFBD>Ӷ<EFBFBD><D3B6>ָ<EFBFBD>ϵͳ API <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
2016-07-15 21:04:01 +08:00
17) 2016.8.5
17.1) feature: hook_io.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ API sleep <20><> hook <20><><EFBFBD><EFBFBD>
16) 2016.8.4
16.1) bugfix: hook_net.c <20>е<EFBFBD> gethostbyname_r <20>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ĵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--- found by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
15) 2016.7.28
15.1) bugfix: hook_net.c <20>е<EFBFBD> poll/epoll_wait <20><><EFBFBD>ڳ<EFBFBD>ʱ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬻ᵼ<F3A3ACBB>³<EFBFBD>ʱ
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ
14) 2016.7.26
14.1) feature: hook_net.c <20>е<EFBFBD> connect <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-07-22 16:54:38 +08:00
13) 2016.7.22
13.1) bugfix: poll/epoll_wait API <20>ij<EFBFBD>ʱֵ<CAB1><D6B5><EFBFBD>õIJ<C3B5><C4B2><EFBFBD>
13.1) performance: fiber.c <20><> acl_fiber_yield <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD>̣<EFBFBD>
Ȼ<EFBFBD><EFBFBD><EFBFBD>پ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>л<EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-07-22 16:54:38 +08:00
2016-07-15 21:04:01 +08:00
12) 2016.7.14
12.1) feature: hook_net.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> epoll <20><> hook ֧<><D6A7>
2016-07-15 21:04:01 +08:00
2016-07-09 21:58:21 +08:00
11) 2016.7.9
11.1) feature: fiber_sem.c <20><><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD>
10) 2016.6.22
10.1) feature: fiber_server.c <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD>ֿ<EFBFBD><D6BF>г<EFBFBD>ʱ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
9) 2016.6.21
9.1) feature: <20><><EFBFBD><EFBFBD> socket <20><><EFBFBD>͵<EFBFBD> fd <20><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>ģʽ
9.2) feature: master_fiber.c ֧<><D6A7> dispatch <20><>ʽ<EFBFBD><CABD><EFBFBD>ÿͻ<C3BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
8) 2016.6.19
8.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FIBER <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
8.2) feature: <20><><EFBFBD><EFBFBD> fiber_server.c ģ<><EFBFBD><E9A3AC><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>
7) 2016.6.18
7.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FIBER_CHANNEL <20><><EFBFBD><EFBFBD>Э<EFBFBD>̼<EFBFBD><CCBC>Ľ<EFBFBD><C4BD><EFBFBD>ͨ<EFBFBD><CDA8>
6) 2016.6.15
6.1) feature: <20><><EFBFBD>Ӷ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- fiber_create_timer()
5) 2016.6.14
5.1) feature: hook <20><> errno <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD> __errno_location<6F><6E><EFBFBD>Ӷ<EFBFBD>ʹ errno <20><><EFBFBD><EFBFBD>
ÿ<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ȫ<EFBFBD><EFBFBD>
4) 2016.6.11
4.1) valgrind: <20><><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD><EBBFAA><EFBFBD>Է<EFBFBD>ֹ valgrind <20><><EFBFBD>߶<EFBFBD> swapcontext <20><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3) 2016.6.9
3.1) performance: fiber_schedule.c<><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
<EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD> --- by niukey@qq.com
2) 2016.6.5
2.1) feature: <20><> fiber_schedule.c, fiber_io.c <20>е<EFBFBD>ȫ<EFBFBD>־<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ֲ߳̾<CCBE>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊʵ<EFBFBD>ֶ<EFBFBD><EFBFBD>̻߳<EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD>
1) 2016.6.4
1.1) <20><>ǰ<EFBFBD><C7B0>Э<EFBFBD><D0AD>֧<EFBFBD><D6A7> hook: read/redv/redv/recvfrom/recvmsg,
write/writev/send/sendto/sendmsg, poll/select/sleep/gethostbyname/gethostbyname_r