
47) 2017.4.13
47.1) feature: hook_net.c  getaddrinfo ֧

46) 2017.4.10
46.1) feature: Эź߳ʹʱֹͬһźͬ߳ʹ

45) 2017.3.29
45.1) bugfix: һЭ̴ poll wait ״̬ʱһЭ kill ʱڴ
Ƿʣ޸ʽ event.c ж poll list ıʲ pop ʽͬʱ
hook_net.c е poll е kill ʱԶ뱾 BUG صļ
fiber.c, hook_net.c, event.c hook_net.c  event.c е޸ؼ

44) 2017.3.28
44.1) feature: fiber.c  fiber_alloc ûЭڴʱӦ
free->mallocǵ reallocһԱʹ tcmalloc ʱ valgrind
ڴ澯棬һ棬Чʹ

43) 2017.3.23
43.1) feature: fiber.c  acl_fiber_signal/acl_fiber_kill УҪ errno
Ϊ ECANCELED

42) 2017.3.9
42.1) compile: ? valgrind ѡʱһ뾯
42.2) workaround: master_fiber еķ run_alone ȥһԭ
ƴɴļжȡ

41) 2017.2.9
41.1) bugfix: fiber.c Уfiber_init Ӧñ뱣֤ __sys_errno Ϊ NULL ʱ
ãһЩ̬ʼҪ __sys_errno ʹ

40) 2017.1.23
40.1) workaround: Э̺ͳһĳ޷ 32 λ

39) 2017.1.12
39.1) bugfix: Э˫ͨģʽ£дʱᵼ¶ҲΪӳٹر
¼ò

38) 2017.1.5
38.1) bugfix: fiber.c к acl_fiber_killed еж

37) 2016.12.31
37.1) feature:  acl_fiber_signal Э̸Э̷ͻź

36) 2016.12.27
36.1) bugfix: fiber.cpp  kill 轫 f_ Ա NULLֹǶ׷ʷǷַ
36.2) feature: fiber.cpp ǰеЭ fiber (ֻڹ
нΪ true)ӶԷʹ fiber еķ

35) 2016.12.19
35.1) feature: fiber.c йЭֲ̾ĽӿڵʵӦó
35.2) bugfix: fiber.c еЭ˳ʱЭֲ̾Ķδͷڴй¶
35.3) sample: samples/fiber_localʾڲЭֲ̾

34) 2016.12.16
34.1) bugfix: hook_net.c, hook_io.c, event_epoll.c Ϊ hook ˺ܶϵͳ
APIӦ main ִǰҪЩ API ʱܻΪ hook δ
жɺָΪ NULLӶ³

33) 2016.12.8
33.1) bugfix: hook_net.c УЭģʽ£hook epoll  API Ӧü

32) 2016.12.3
32.1) feature: acl_fiber_kill ֧ acl_fiber_sleep, acl_fiber_sem,
acl_fiber_mutex_lock Э

31) 2016.11.28
31.1) feature: fiber.cpp Уfiber  kill  killed ɱЭ
жָЭǷѾ˳

30) 2016.11.27
30.1) bugfix: fiber.c к acl_fiber_create дʱڴ⣬
__thread_fiber->fibers  realloc ڴ治Ϊ __thread_fier->size
㷽

29) 2016.11.24
29.1) feature:  acl_fiber_kill ӿָ֪ͨЭ˳

28) 2016.10.31
28.1) feature: fiber.c ʵ __i386__  SETJMPLONGJMP Ļ෽ʽ
libdill 

27) 2016.10.19
27.1) bugfix: fiber_io.c е __thread_fiber->loop_fn ûиֵ

26) 2016.9.25
26.1) feature:  acl_fiber_post_event ÿ¼ѭпԵ
úõĻص

25) 2016.9.22
25.1)  acl_fiber_stop --> acl_fiber_schedule_stop,
acl::fiber::stop --> acl::fiber::schedule_stop

24) 2016.9.21
24.1) bugfix: hook_io.c е writev() Ӧõ fiber_writev()

23) 2016.9.1
23.1) feature: ֧ C++11 ܣʹ lambda ʽЭ̸ӷ

------------------------------------------------------------------------------

22) 2016.8.25
22.1) feature: hook_io.c ṩ˵ fiber_xxx IO ӿ

21) 2016.8.17
21.1) performance: fiber.c к fiber_alloc ڴЭջʱʹ malloc 
ԭ callocڴύʹ棬ӶЧЭ̵ʵռڴС
21.2) bugfix: hook_io.c е read ȶֻе < 0 ʱҪ errno
21.3) bugfix: fiber_io.c, acl_fiber_delay Ҫ ev->timeout ֵ
21.4) performance: hook_net.c  hook ϵͳ accept API Ż˽ӵ˳
Ӷʹ accept ٶȸ

20) 2016.8.16
20.1) portable: fiber.c ǿ SETJMP ֲ

19) 2016.8.10
19.1) performance&feature: ʹ setjmp/longjmp ջתܸ

18) 2016.8.7
18.1) feature: fiber.c  acl_fiber_schedule ǰԶ acl_var_hook_sys_api
 0Ӷָϵͳ API ù

17) 2016.8.5
17.1) feature: hook_io.c ϵͳ API sleep  hook 

16) 2016.8.4
16.1) bugfix: hook_net.c е gethostbyname_r ڽʱĵַֽ
--- found by 

15) 2016.7.28
15.1) bugfix: hook_net.c е poll/epoll_wait ڳʱļ󣬻ᵼ³ʱ
ʱǰ

14) 2016.7.26
14.1) feature: hook_net.c е connect ˳

13) 2016.7.22
13.1) bugfix: poll/epoll_wait API ĳʱֵõĲ
13.1) performance: fiber.c  acl_fiber_yield жǷдЭ̣
ȻپǷҪлЭģӶĵл

12) 2016.7.14
12.1) feature: hook_net.c  epoll  hook ֧

11) 2016.7.9
11.1) feature: fiber_sem.c Эź

10) 2016.6.22
10.1) feature: fiber_server.c ģֿ֧гʱ˳˳

9) 2016.6.21
9.1) feature:  socket ͵ fd ͬģʽ
9.2) feature: master_fiber.c ֧ dispatch ʽÿͻ

8) 2016.6.19
8.1) feature:  FIBER 
8.2) feature:  fiber_server.c ģ飬 acl_master ܿ

7) 2016.6.18
7.1) feature:  FIBER_CHANNEL Э̼Ľͨ

6) 2016.6.15
6.1) feature: Ӷʱ -- fiber_create_timer()

5) 2016.6.14
5.1) feature: hook  errno ĺ __errno_locationӶʹ errno 
ÿЭǰȫ

4) 2016.6.11
4.1) valgrind: ӱ뿪Էֹ valgrind ߶ swapcontext ת

3) 2016.6.9
3.1) performance: fiber_schedule.cлΪлӶļ
лЧ --- by niukey@qq.com

2) 2016.6.5
2.1) feature:  fiber_schedule.c, fiber_io.c еȫ־̬Ϊֲ߳̾
Ϊʵֶ̻߳Э׼

1) 2016.6.4
1.1) ǰЭ֧ hook: read/redv/redv/recvfrom/recvmsg,
write/writev/send/sendto/sendmsg, poll/select/sleep/gethostbyname/gethostbyname_r
