Commit Graph

509 Commits

Author SHA1 Message Date
郑树新
ad96211014 vc projects: remove private_global.h and add acl_define_macosx.h 2017-11-21 10:58:44 +08:00
郑树新
23f1915473 compiling: support vc2017 2017-11-20 12:15:19 +08:00
zhengshuxin
b2b6521a75 compiling error on CentOS6.x 2017-11-16 11:37:57 +08:00
zhengshuxin
f931680917 bugfix: don't notify master in alone running mode. 2017-11-13 21:21:26 +08:00
zhengshuxin
314e08b9f0 compiling: fixed one compiling error on FreeBSD 2017-11-13 09:26:48 +08:00
zhengshuxin
ef7e4495ac master: can start services specified in configure file. 2017-11-12 00:20:15 +08:00
zhengshuxin
41ce67f000 bugfix: acl_udp_server rebinding addrs 2017-11-10 22:36:03 +08:00
zhengshuxin
65a5b15315 acl_udp_server: add/del ip auto 2017-11-10 14:43:21 +08:00
zhengshuxin
8b4d78198e bugfix: fxied deadlock in acl_mylog.c 2017-11-10 12:57:18 +08:00
zhengshuxin
acb6358d13 bugfix: fixed dead lock in acl_mylog.c 2017-11-10 12:00:43 +08:00
zhengshuxin
037d5d8994 format code style 2017-11-10 10:08:34 +08:00
zhengshuxin
519a42f9c2 compiling: fxied compiling error on FreeBSD 2017-11-09 19:16:51 +08:00
zhengshuxin
4d43fc5ae7 acl_udp_server: can find ip addrs changing automaticlly 2017-11-09 18:58:42 +08:00
zhengshuxin
c9267f4d93 master template: remove unused args 2017-11-07 17:08:54 +08:00
zhengshuxin
46cc12739f compiling: fixed compiling error on vc 2017-10-27 16:33:56 +08:00
zhengshuxin
db886f9d62 master: all server template support waiting the service starting status 2017-10-27 11:38:10 +08:00
zhengshuxin
52e401c142 event: events_epoll_thr.cpp, fixed one bug in event_enable_write function 2017-10-27 11:37:28 +08:00
zhengshuxin
bc4f60a2d3 acl_master: when starting services remotely, users can wait the result of the services' starting status or not. 2017-10-27 00:00:41 +08:00
centos6.9-32
70f510b33f remove debug info 2017-10-16 22:46:30 -07:00
zhengshuxin
7749e15bcc fiber: test 2017-10-12 18:59:50 +08:00
zhengshuxin
b998731976 building: modify Makefiles to build more quickly on multi-cores CPU 2017-10-10 10:19:59 +08:00
zsxxsz
607905bfec compile: There's one compiling error in acl_atomic_int64_cas. 2017-10-01 13:59:02 +08:00
zhengshuxin
3d71e10668 fiber: fiber_lock can trigger immediately with IO event 2017-10-01 13:54:57 +08:00
郑树新
5bda421b74 mbox: add debug info 2017-09-28 16:57:15 +08:00
郑树新
868bef0fb9 compile: one compiling warning by vc 2017-09-28 14:27:44 +08:00
zhengshuxin
83724d3e8a valgrind: free global objects when process exiting to avoid valgrind reporting error. 2017-09-28 12:29:20 +08:00
zsx
ea61c76939 build ok on MacOSX by xcode 2017-09-19 10:49:13 +08:00
郑树新
0bf16cd1f8 build ok on windows by vc 2017-09-21 17:34:25 +08:00
zhengshuxin
70f4b50ee1 fixed bugs in event timer module 2017-09-21 16:00:44 +08:00
zhengshuxin
fd66d9bbc4 fixed one bug in acl_udp_server.c when sending status to master 2017-09-19 17:16:36 +08:00
郑树新
de4ec340a4 compiling ok on Android Studio 2017-09-13 11:30:27 +08:00
zhengshuxin
d5119d3ca1 Merge branch 'master' of https://github.com/zhengshuxin/acl into github-zsx-master 2017-09-13 11:26:28 +08:00
zhengshuxin
52b692221a merge acl 2017-09-13 11:25:39 +08:00
zhengshuxin
8ada09778c fixed bugs in acl_dlink.c for adding continuous integers;
acl_dlink.c supports for adding negative integers.
2017-09-13 11:17:00 +08:00
zhengshuxin
70957fad04 invalid date submit from FreeBSD 2017-09-11 13:57:59 +08:00
zsx
cb1c642461 build ok for Macosx 2017-07-17 17:53:56 +08:00
zhengshuxin
b9283ffbf5 build ok on FreeBSD 2017-07-11 17:44:14 +08:00
zhengshuxin
d5fe28dd8f compile ok for centos5.x 2017-09-11 11:38:06 +08:00
郑树新
4ac182fdce fixed compiling error on Windows by vc 2017-09-11 08:49:07 +08:00
zhengshuxin
a67e6a6338 sighup's result status from children can be got by acl_master 2017-09-09 00:30:39 +08:00
zhengshuxin
7d94dd5a04 let mbox::pop be blocked when timeout < 0 2017-09-08 19:18:49 +08:00
zhengshuxin
025a9b29f2 make master's reload safety 2017-09-06 13:19:49 +08:00
zhengshuxin
296d5a995d master can wait until the children exited 2017-09-05 23:47:48 +08:00
zhengshuxin
3d02c72328 all master templates support handling SIGTERM signal. 2017-09-05 10:58:55 +08:00
zhengshuxin
7dadf786df add test code in mbox.hpp 2017-09-02 17:59:32 +08:00
zhengshuxin
2af766fb6e make acl::mbox generic with c++ template method. 2017-09-01 23:14:20 +08:00
zhengshuxin
5291cd0c7a test only 2017-09-01 18:59:42 +08:00
zhengshuxin
3191bf51db there's one bug in acl_aqueue_pop_timedwait when computing timeout for waiting 2017-08-29 17:46:41 +08:00
zhengshuxin
85b55d4e4e acl_mbox_read's timeout use millisecond precision 2017-08-29 11:32:07 +08:00
zhengshuxin
2016e3b46a fiber_server.c can support reuseport when running alonely. 2017-08-21 17:39:48 +08:00
zhengshuxin
be7629ced2 add acl_read_xxx_wait with milliseconds;
icmp ping supports timeout and delay with milliseconds;
2017-08-15 12:17:57 +08:00
zsxxsz
b1fe62649f change charset of comments from utf-8 to gbk. 2017-08-13 22:53:52 +08:00
zhengshuxin
db7ca4ff38 add comments in acl_atomic.h 2017-08-13 22:41:35 +08:00
zhengshuxin
8bb4c91b58 add return value to show the result of acl_chroot_uid than just broken when error happened. 2017-08-11 21:41:26 +08:00
zhengshuxin
5ebdc5e223 SO_REUSEPORT not used in Centos5.x 2017-08-11 09:20:44 +08:00
zhengshuxin
fe44b078fc TCP_FASTOPEN can be used by setting the master_fastopen item in servers' configure files 2017-08-10 11:46:02 +08:00
zhengshuxin
1915852bd9 SO_REUSEPORT can be used in master server framework by setting configure item 2017-08-10 11:35:52 +08:00
zhengshuxin
3203318ea9 when user's input is NULL in acl_vstring_sprintf, etc, null will be handled safely. 2017-08-07 11:09:00 +08:00
zsxxsz
e17f78dcec fixed one bug in acl_threads_server.c when serv_timeout was called the sequence of args was invalid. 2017-07-31 17:19:35 +08:00
zhengshuxin
0b9f6bd0a8 fixed bugs in server templates for windows. 2017-07-31 16:08:01 +08:00
zhengshuxin
443e94d3d9 fixed one bug in trigger server template that __conf_file should be used than conf_file_ptr. 2017-07-24 22:04:08 +08:00
zhengshuxin
93b3250ca5 add methods that get configure path 2017-07-22 21:32:21 +08:00
郑树新
e397581179 fixed compiling warning for Android Studio 2017-07-21 16:05:45 +08:00
郑树新
5b406b6115 building for Android studio 2.3.3 2017-07-20 10:59:28 +08:00
zhengshuxin
6a6616a590 remove master/framework dir from CMakeLists.txt 2017-07-19 17:46:50 +08:00
zhengshuxin
66a35c5837 add configure item in master's protocol;
fixed warning on MACOSX
2017-07-17 15:30:52 +08:00
zsx
b1dfd6bdd3 fixed some compiling error&warning on xcode. 2017-07-17 15:06:02 +08:00
zhengshuxin
8a80dce9bb On MacOS, let POLLIN checking first in acl_read_wait.c. 2017-07-17 11:03:42 +08:00
zsx
975767b856 disable reseting optind, optarg, opterr on MacOS 2017-07-17 10:29:20 +08:00
zhengshuxin
ddee9c8d69 invalid charset in acl_vstream.h 2017-07-11 18:03:45 +08:00
zhengshuxin
eab3f85c17 fixed one net bug in FreeBSD 2017-07-11 15:58:21 +08:00
zhengshuxin
75095f5227 fixed some building error in FreeBSD with cmake 2017-07-11 15:18:41 +08:00
zhengshuxin
3709d8c88b can be build on gcc4.1 or gcc7.1 2017-07-10 19:20:50 +08:00
zhengshuxin
9ac697ecbe build acl project successfully by gcc7.1.0 2017-07-10 15:26:12 +08:00
zhengshuxin
88eb449328 udp server template can be created with joinable mode. 2017-07-10 12:22:09 +08:00
郑树新
97a16bfc39 compiling warning by gcc7.1 2017-07-10 10:47:56 +08:00
郑树新
2b38278ca9 change STACK_SIZE from 64K to 128K;
let acl_var_fiber_stack_size can control fiber_sleep's stack size in lib_fiber/c/src/master/fiber_server.c
2017-07-07 10:24:38 +08:00
郑树新
677b7ad053 delete samples. 2017-07-06 10:14:13 +08:00
zhengshuxin
1acef3bc6e udp server will call bind callback. 2017-07-05 15:16:30 +08:00
zhengshuxin
99660d0734 add proc_on_bind in master_udp class 2017-07-05 14:31:18 +08:00
zhengshuxin
98d11361bb test sighup callback ok for all server template. 2017-07-05 10:27:33 +08:00
zhengshuxin
643609a33a fixed some compile error 2017-07-05 00:01:22 +08:00
zsxxsz
a8ffa2a556 compile on vc 2017-07-04 23:55:29 +08:00
zhengshuxin
88d6f6c44f all server templates support SIGHUP callback. 2017-07-04 23:33:28 +08:00
郑树新
25a6e4cf15 add dist/lib/win32 path for win32. 2017-07-03 18:17:03 +08:00
zhengshuxin
4b3d13b670 acl_atomic_int64_add_fetch can support Windows 2017-07-03 17:49:51 +08:00
zhengshuxin
128df49e08 fixed bugs in acl_atomic.c 2017-07-03 17:42:55 +08:00
zhengshuxin
d6385832d6 add ACL_ATOMIC_CLOCK object for statics of running status 2017-07-03 14:40:06 +08:00
zhengshuxin
23080968f0 fiber_server.c supports running in multi-threads mode. 2017-07-02 23:10:17 +08:00
zhengshuxin
fda8a3077e don't compile samples written with multi-server template. 2017-07-02 20:24:14 +08:00
Zheng Shuxin
f8cb1566ca init getopt's variables for multi-call. 2017-06-27 17:07:57 +08:00
Zheng shuxin
d9fbd9c650 changed the web protocol for management 2017-06-26 12:34:23 +08:00
zhengshuxin
47e38ca99f netdb.h should be included for getaddrinfo. 2017-06-24 22:37:35 +08:00
Zheng shuxin
259a06a799 modify Makefile 2017-06-22 18:57:00 +08:00
Zheng shuxin
e1b8776136 acl_udp_server.c: how to solve exiting? 2017-06-22 14:37:40 +08:00
Zheng Shuxin
b2c2cd4a1c acl_udp_server.c is OK! 2017-06-22 12:40:57 +08:00
郑树新
ce8d5cda9c acl_udp_server.c can be compiled on vc 2017-06-22 12:26:14 +08:00
Zheng Shuxin
3c86372490 modify acl_udp_server.c 2017-06-22 12:21:54 +08:00
郑树新
109b498110 add atomic add 2017-06-22 11:03:07 +08:00
zhengshuxin
3442778120 add acl_sane_bind.c into xcode project. 2017-06-21 22:41:50 +08:00
ubuntu14
7ed6180b33 udp server support multi threads mode 2017-06-21 18:31:37 +08:00
ubuntu14
dc2a42c0e6 valgrind can also check master_udp's samples in alone running mode. 2017-06-21 12:43:53 +08:00
郑树新
64afad5c42 master_udp.cpp using acl_udp_server.c in alone mode. 2017-06-21 12:27:41 +08:00
ubuntu14
3a863cc238 add acl_host_addrinfo for resovle domain 2017-06-21 11:10:49 +08:00
ubuntu14
85f1db0b38 acl_udp_sever.c can bind addrs matching some pattern 2017-06-20 14:07:45 +08:00
ubuntu14
dfbb553f01 adding http interface for acl_master 2017-06-15 11:28:01 +08:00
郑树新
f676d1d861 move acl_master from lib_acl for xcode project 2017-06-14 11:13:59 +08:00
郑树新
050e37c071 modify vc project 2017-06-13 18:06:17 +08:00
zhengshuxin
311ceb0cf8 remove acl_master's module from lib_acl's vc projects. 2017-06-13 16:20:45 +08:00
zhengshuxin
7f684658da modify fiber module's header included. 2017-06-13 12:14:28 +08:00
zhengshuxin
aedcf2de10 for new acl-master lib 2017-06-12 23:24:00 +08:00
zhengshuxin
b71b6a99a4 add new files for master 2017-06-12 23:23:07 +08:00
zhengshuxin
0b30d83329 move acl_master to app from lib_acl 2017-06-12 23:19:56 +08:00
zhengshuxin
4a26f2a830 toto.txt 2017-06-11 19:39:00 +08:00
zhengshuxin
a6ac74a445 move "setting ACL_MASTER_FLAG_STOPPING" to acl_master_service_stop 2017-06-11 17:53:22 +08:00
zhengshuxin
f824d9b28f fixed one bug that acl_master will crached when stopping a service which is configured master_prefork > 0. 2017-06-11 17:26:17 +08:00
Zheng Shuxin
1663d24904 add one in todo.txt 2017-06-08 17:52:24 +08:00
Zheng Shuxin
7cad599b6e fixed one master's bug 2017-06-08 15:54:29 +08:00
root
7817e3ac14 acl_master can start without any service. 2017-06-08 14:37:55 +08:00
zhengshuxin
3612489a81 ACL_TOKEN support acl_foreach 2017-06-05 12:21:02 +08:00
zhengshuxin
6bfdac5843 add acl_token_tree_word_remove in acl_token_tree.c 2017-06-03 23:45:18 +08:00
zhengshuxin
423b9a07c2 add macro ACL_TOKEN_TREE_WORD_MATCH for fast search word in token tree 2017-06-03 18:12:02 +08:00
root
40954a1558 acl_master support SO_REUSEPORT in UDP mode. 2017-06-02 18:02:36 +08:00
zhengshuxin
78a7540a76 reorganize all the include headers. 2017-06-02 14:47:24 +08:00
root
5922aaaec9 delete unused files. 2017-05-31 14:58:30 +08:00
ubuntu14
98b4488e87 add udp samples 2017-05-31 09:15:54 +08:00
zhengshuxin
183c0a6a3a add samples for recvmmsg/sendmmsg 2017-05-29 11:47:52 +08:00
zhengshuxin
67e2a99eee fixed one bug in websocket::make_frame_header for one memory overflow problem;
fixed one bug in connect_manager::remove
2017-05-27 10:03:58 +08:00
root
171655fa1e improve performance of acl_udp_server.c 2017-05-25 00:59:25 +08:00
ubuntu14
d49075033b in acl_udp_server.c, should not notify acl_master which will lead low performance 2017-05-23 17:53:52 +08:00
zhengshuxin
3c19f24ede calling setuid in acl_master to help services written by golang to change running privilege. 2017-05-22 17:52:05 +08:00
zhengshuxin
1a6af8a6be add unix-domain support in pgsql 2017-05-08 09:49:30 +08:00
zhengshuxin
a0f4e48d41 fixed one bug in acl_mylog.c/private_vstream.c that freeing memory corrupt. 2017-05-03 11:19:20 +08:00
zhengshuxin
47c07e2f56 add inet_ntop/inet_pton for vc2003 2017-04-23 20:27:54 +08:00
zhengshuxin
0d0bfa47e7 acl_3.3.0 released! 2017-04-22 19:39:13 +08:00
zhengshuxin
5684b7ef41 rename boolean_t to acl_boolean_t for avoiding collision with xcode's lib 2017-04-21 15:57:51 +08:00
zhengshuxin
5d19443275 support vc2013 2017-04-21 14:59:29 +08:00
zhengshuxin
d91b6f4272 acl_vstream_probe_status maybe be blocked in fiber mode 2017-04-20 19:39:03 +08:00
zhengshuxin
5e271bd1b9 acl_pthread_mutex_destroy was lost on windows. 2017-04-17 22:02:34 +08:00
zhengshuxin
fd719a73e3 fixed one bug in acl_pthread_cond.c for double-free one same memory. 2017-04-17 21:56:13 +08:00
zhengshuxin
41b89b7aaa hook getaddrinfo in acl fiber 2017-04-13 21:50:55 +08:00
zhengshuxin
7787109b88 fixed compiling error on xcode. 2017-04-12 13:29:43 +08:00
zhengshuxin
29f3ef3b73 supporting for IPV6 2017-04-11 23:14:39 +08:00
zhengshuxin
b6b7fb6573 fixed compiling error on vc2003 2017-04-09 08:26:21 +08:00
zhengshuxin
b73d188e30 support IPV6. 2017-04-07 20:13:08 +08:00
zhengshuxin
d167d8f85d fixed fiber's errors;
add feature in some modules.
2017-03-31 23:04:16 +08:00
zhengshuxin
768210296c compile error on FreeBSD 2017-03-25 23:34:54 +08:00
zhengshuxin
57f8afc403 modify acl Makefiles to renaming lib names. 2017-03-25 23:05:44 +08:00
zhengshuxin
d2128e6f70 add iconv app for files charset convert. 2017-03-13 22:57:46 +08:00
zhengshuxin
e2ec8096f5 delete unused cmake files. 2017-03-12 16:25:36 +08:00
zhengshuxin
782adab2a2 compiling option of __FreeBSD__ can be auto added. 2017-03-12 16:16:13 +08:00
zhengshuxin
3cd0864746 supporting ios and can be compiled by xcode. 2017-03-12 14:49:48 +08:00
zhengshuxin
e5f7aa1b54 compile acl on MSYS. 2017-02-21 22:35:31 +08:00
zhengshuxin
193ac62bf2 Chinese comment charset was corrupted by Android studio, now fixed it. 2017-02-15 15:57:34 +08:00
zhengshuxin
09e4b0d381 migrate to Android platform OK! 2017-02-12 21:39:38 +08:00
zhengshuxin
5e1bd3c5d9 migrating acl to android;
modify fiber id to unsigned int.
2017-01-23 16:59:58 +08:00
zhengshuxin
e2bb0ad167 support cmake. 2017-01-18 08:51:28 +08:00
zhengshuxin
c9db9bc30a delete unused files. 2017-01-03 10:28:26 +08:00
zhengshuxin
06fa2499fa fixed bugs in lib_fiber; add features in http module. 2016-12-29 23:58:18 +08:00
zhengshuxin
fc6ddc3970 fixed one bug in redis_pubsub::get_message which can't support psubscribe;
add one sample -- hook_close for test.
2016-12-15 13:39:26 +08:00
zhengshuxin
1b6d166ef6 add acl_fiber_kill for fiber lib;
add listen callback for master template.
2016-12-03 20:09:21 +08:00
ubuntu14
bcb2f1b85c fixed one bug in fiber.c for memory leak
add some samples for lib_liber
2016-11-27 21:03:24 +08:00
zhengshuxin
2b282d9f66 remove setting non-blocking in acl_vstream_fdopen. 2016-11-18 21:45:40 +08:00
zhengshuxin
4bc27a685f remove pread64/pwrite64. 2016-11-08 10:09:06 +08:00
zhengshuxin
3bf64fa72d fixed bugs in db pool for setting charset. 2016-11-03 11:19:11 +08:00
zhengshuxin
6265718c20 acl 3.2.2 released! 2016-11-01 20:53:39 +08:00
zhengshuxin
c98290445b add fiber test examples. 2016-10-30 21:24:51 +08:00
zhengshuxin
dd0bcc2c07 pread64/pwrite64 can be used by gcc3.x.x 2016-10-28 15:22:34 +08:00
zhengshuxin
60f2fc2203 fixed compiling error on centos4.7 by gcc3.x.x 2016-10-28 15:01:42 +08:00
zhengshuxin
be034725b3 rename acl_init to acl_lib_init; fixed one bug in url encoding for '+' 2016-10-25 10:31:33 +08:00
zhengshuxin
be07157761 fixed one bug in acl_json.h for duplicate defined ACL_JSON_T_XXX 2016-10-21 17:22:40 +08:00
zhengshuxin
f30b2b4144 add some websocket samples(upload_server/upload_client); fixed some bugs in acl; 2016-10-21 15:02:50 +08:00
zhengshuxin
f0e5a302b3 fixed one bug in acl_json_build/acl_json_buiding bug when building a json object. 2016-10-11 20:58:37 +08:00
zhengshuxin
8fc6f990f2 add null type for json module when building json obj. 2016-10-10 23:03:05 +08:00
zhengshuxin
3846cda043 add websocket in lib_acl_cpp. 2016-09-20 19:55:38 +08:00
zhengshuxin
6f8105136a fixed bugs in read line functions of acl_vstream.c; add c++11 into fiber. 2016-09-07 19:58:19 +08:00
zhengshuxin
6852d39ed2 fixed one bug in acl_urlcode.c, add c++11 in fiber, and add sha1 2016-09-01 20:00:58 +08:00
zhengshuxin
52a8209d6d acl.3.2.0 released! 2016-08-27 20:01:26 +08:00
zhengshuxin
11e451f5ba acl 3.2.0 released! 2016-08-27 18:34:02 +08:00
zhengshuxin
6897e3dc54 fixed bugs in json module. 2016-08-23 13:20:33 +08:00
ubuntu14
8c3a44218a fixed some compiling warning. 2016-08-19 22:31:05 +08:00
ubuntu14
b911542df8 improvement event's performance 2016-08-15 16:10:18 +08:00
ubuntu14
96bde3d3ca improvement the events_epoll_thr.c's performance by decreating calling times of epoll_ctl. 2016-08-15 14:53:43 +08:00
ubuntu14
bea788c59c fixed one bug in events module that read_ready flag maybe be clear. 2016-08-15 11:04:12 +08:00
ubuntu14
46b36692a6 fixed one import bug in acl_vstream_writen() of acl_vstream.c 2016-08-14 00:25:15 +08:00
ubuntu14
d7218d0228 add acl_ypipe/acl_ypush into vc2015 project. 2016-08-11 13:57:57 +08:00
ubuntu14
0c54b8c0d5 fixed one bug in events_enable_read of events_epoll_thr.c; add some samples for lib_fiber; 2016-08-11 13:36:20 +08:00
ubuntu14
271fc96cdf add master web monitor by master_fiber mode; arrange codes; add methods to json module; 2016-07-29 16:43:46 +08:00
ubuntu14
841f92d0a2 improve the fiber's performance 2016-07-22 16:54:38 +08:00
ubuntu14
1a22bba2ce fixed one bug in event operation for lib_fiber 2016-07-20 21:09:46 +08:00
ubuntu14
36585efdf6 epoll has been hooked now 2016-07-15 21:04:01 +08:00
ubuntu14
1db0998bad fixed compiling warning by gcc6.1 2016-07-10 19:12:54 +08:00
ubuntu14
5cf6d7ba0f make lib_fiber more available! 2016-06-30 22:20:30 +08:00
ubuntu14
2e5724cbeb add acl_mbox.c for thread communication 2016-06-26 12:17:17 +08:00
ubuntu14
2d14abfec4 rename fiber_schedule.c to fiber.c 2016-06-25 16:05:48 +08:00
ubuntu14
f9ff6f0a73 fixed some bugs in lib_fiber; add master_fiber for master framework 2016-06-23 13:34:54 +08:00
ubuntu14
0ec7e951eb improvement the lib_fiber's performance 2016-06-11 23:18:06 +08:00
ubuntu14
92b0dc124e add lib_fiber 2016-05-30 14:09:38 +08:00
ubuntu14
29d2584744 fixed one bug in acl_sys_file.c for windows; add one no lock quque 2016-05-22 00:08:10 +08:00
ubuntu14
1148788f2b optimize some codes 2016-05-10 21:58:47 +08:00