Commit Graph

895 Commits

Author SHA1 Message Date
zhengshuxin
ae39d3ec94 optimize network IO module. 2022-08-29 17:09:02 +08:00
郑树新
026485c21e compile acl on windows ok 2022-08-22 22:32:23 +08:00
zhengshuxin
1944187834 It't not reasonable in acl_fiber_poll() that the max timeout will used when the timeout is -1. 2022-08-15 15:11:41 +08:00
zhengshuxin
e664f21494 build acl ok on Cygwin 2022-08-06 20:03:51 +08:00
zhengshuxin
4623e568ac add MASTER_SERVICE=ALONE environment to control service running in alone mode 2022-08-03 15:36:23 +08:00
zhengshuxin
06bb626faa release new version for fixed one bugs in fiber_server.cpp 2022-08-03 10:15:41 +08:00
zhengshuxin
eeb441afcb fixed one bug in fiber_server.cpp when using shared stack mode 2022-08-03 10:09:03 +08:00
zhengshuxin
b1506818eb fiber service template can use SO_REUSEPORT for unix domain socket 2022-08-02 23:21:44 +08:00
zhengshuxin
608dc0c4f4 test wait_group of fiber module 2022-08-01 22:13:42 +08:00
郑树新
d96e7f55b8 build acl ok on windows platform. 2022-08-01 22:05:07 +08:00
zhengshuxin
9f839e7363 add wait_group in fiber module 2022-08-01 21:57:07 +08:00
shuxin   zheng
4374153f00 add wait_group.cpp in xcode project of acl 2022-08-01 16:02:21 +08:00
zhengshuxin
785487b466 add wait_group for fiber module like sync.WaitGroup in Golang 2022-08-01 15:48:21 +08:00
zhengshuxin
d5bac0b0b1 optimize acl_master and service templates 2022-07-26 16:08:25 +08:00
zhengshuxin
af97334509 acl-master service framework and fiber service template support SO_REUSEPORT option. 2022-07-25 15:30:41 +08:00
zhengshuxin
42fa722e3f optimize service template 2022-07-19 17:28:03 +08:00
zhengshuxin
14fce1cc1a optimize for making valgrind happy 2022-07-18 11:42:25 +08:00
郑树新
2830be54fa Acl can be built by cmake tools chanins 2022-07-10 20:13:15 +08:00
shuxin   zheng
cb1d69dc77 Merge branch 'master' of gitee:zsxxsz/acl into gitee-master 2022-07-04 18:14:47 +08:00
zhengshuxin
63c994a1d4 test fiber event in multiple threads mode 2022-07-03 23:49:44 +08:00
zhengshuxin
745e80a412 add one demo for test fiber 2022-07-03 00:26:12 +08:00
shuxin   zheng
5b772a8132 test sleep in fiber mode 2022-06-27 10:26:49 +08:00
zhengshuxin
6309cc694f build ok acl by xmake 2022-06-14 15:35:33 +08:00
shuxin   zheng
bf7a09bf2c Add one control if acl_master.log can be generated in alone mode for master service. 2022-06-12 20:32:08 +08:00
shuxin   zheng
6df3228b6f add mapping offset for string 2022-06-12 18:02:35 +08:00
zhengshuxin
b04c80e269 test redis hash in pipeline mode 2022-06-07 18:09:03 +08:00
shuxin   zheng
e4e3615f34 build for arm32 2022-06-02 23:06:53 +08:00
shuxin   zheng
835eaf3c4e build for arm32 2022-06-02 23:04:15 +08:00
shuxin   zheng
de6a5afb3a Don't expose acl_fiber_hook_api() 2022-05-29 13:04:02 +08:00
zhengshuxin
6a64963645 test 2022-05-22 13:10:56 +08:00
shuxin   zheng
ce0655e938 modify comments for ring structure 2022-05-11 18:42:08 +08:00
zhengshuxin
f90faf5542 fixed one bug in acl_fiber_yield() API in fiber.c where the returning value is invalid. 2022-05-11 17:39:28 +08:00
郑树新
95dbc454d6
Merge pull request #275 from sidyhe/bugfix2
fiber: bugfix recv when signal
2022-05-07 13:24:02 +08:00
郑树新
a1898f5cc6
Merge pull request #276 from sidyhe/bugfix3
fiber: /etc/hosts only for unix
2022-05-07 00:09:54 +08:00
Sid
3c3be91cf9
parse hosts for win32 2022-05-06 17:42:45 +08:00
Sid
086ea99044
fiber: /etc/hosts only for unix 2022-05-06 03:12:23 +08:00
sid
b1193d39c7 fiber: bugfix recv when signal 2022-05-06 02:44:24 +08:00
Sid
4801b5c8ee
fiber: bugfix unexpect exit
无IO协程时调度器异常退出 (win/linux)

复现步骤: 创建一个协程, 进行几个IO操作, 然后死循环 acl_fiber_delay(1000)
2022-05-06 02:33:51 +08:00
郑树新
854c1aa4ca merge and format event_iocp.c; add dns-gate demo project 2022-05-01 23:29:31 +08:00
郑树新
295913207d
Merge pull request #272 from sidyhe/bugfix
fiber: bugfix for win32 (add_read and iocp_wait)
2022-05-01 23:15:52 +08:00
Sid
2aab3ff9a0
fiber: fix doze for win32
在win32中不能使用select延时
2022-04-28 17:41:01 +08:00
Sid
2b43c3c5f6
typo 2022-04-28 10:43:01 +08:00
Sid
8214ff0d9e
fiber: iocp optimize
reduce repeat code
2022-04-28 10:38:56 +08:00
sid
1133a1dd33 fiber: bugfix for win32 (add_read and iocp_wait) 2022-04-27 21:58:36 +08:00
zhengshuxin
e7c3bb2142 test redis pipeline in fiber shared stack mode 2022-04-18 22:51:00 +08:00
zhengshuxin
d9f0c8b5da remove some compiling options for MacOS 2022-04-11 19:09:39 +08:00
zhengshuxin
36e21ccd96 fixed one bug in fiber_io_loop() in fiber_io.c that don't exit before some fiber maybe running. 2022-04-11 18:28:41 +08:00
shuxin   zheng
e388eb2fb2 cross compile on macos 2022-04-11 14:59:02 +08:00
郑树新
a6573584ce
Merge pull request #269 from dragon-zhang/dev_mac_support_cross_compilation
mac support cross compile
2022-04-10 21:50:13 +08:00
zhengshuxin
76199ea5e6 Shared stack has been as the default compiling options. 2022-04-10 19:35:16 +08:00
hailang
5ef96d62fe Merge remote-tracking branch 'origin/master' into dev_mac_support_cross_compilation 2022-04-10 17:29:58 +08:00
hailang
3ddff50476 mac support cross compile 2022-04-10 15:43:29 +08:00
root
40dc44f72d test memcpy from Clickhouse 2022-04-09 20:02:58 +08:00
zhengshuxin
7c1660e415 optimize share stack mode for fiber 2022-04-08 08:10:14 +08:00
zhengshuxin
12006e2ff1 shared stack mode can be selected by users 2022-04-08 07:32:06 +08:00
zhengshuxin
f3ff13cc37 add fiber attr to control if using share stack when create one fiber. 2022-04-07 23:48:05 +08:00
zhengshuxin
a81e8880c4 Disable shared stack in default mode 2022-04-07 09:31:37 +08:00
zhengshuxin
9c8fc9dba4 master_fiber.cpp can be used in shared stack mode. 2022-04-06 18:21:51 +08:00
zhengshuxin
a764811066 acl redis module can be used in fiber shared stack mode. 2022-04-06 17:53:33 +08:00
zhengshuxin
67b964c8b0 optimize for shared stack for redis client lib in pipeline mode 2022-04-05 22:17:16 +08:00
zhengshuxin
da8cb4b5ed test httpd_proxy 2022-04-04 12:24:16 +08:00
zhengshuxin
21503e93cd optimize and test shared stack in fiber module 2022-04-03 21:52:23 +08:00
zhengshuxin
e9b62fdc14 fixed bugs in httpd_proxy demo 2022-04-02 16:31:12 +08:00
zhengshuxin
6cf533d280 fixed one compiling warning on Ubuntu 2022-04-01 23:08:00 +08:00
zhengshuxin
c4509a539b test shared stack 2022-04-01 19:06:54 +08:00
zhengshuxin
b7ad2688dc test demo for shared stack 2022-04-01 17:43:42 +08:00
zhengshuxin
f4417b313a add more demos for testing shared stack 2022-04-01 17:37:58 +08:00
zhengshuxin
cadde6f996 add acl_fiber_get_shared_stack_size() 2022-04-01 14:39:54 +08:00
zhengshuxin
2d0dd07155 test fiber 2022-03-31 21:44:43 +08:00
zhengshuxin
01b0683a80 delete unused files 2022-03-31 21:28:52 +08:00
zhengshuxin
300de6b7e4 poll.c can support shared stack 2022-03-31 18:35:14 +08:00
zhengshuxin
e9ab8794c1 test shared stack of fiber module 2022-03-31 07:37:20 +08:00
zhengshuxin
49d4f2d5ce The fiber module has supported shared stack mode to decrease memory usage for many cocurrent clients. 2022-03-30 19:11:25 +08:00
zhengshuxin
f46a765ff7 Disable debug for valgrind in Makefile 2022-03-27 18:51:05 +08:00
zhengshuxin
7007d4d1fb optimize event_epoll.c 2022-03-26 22:06:59 +08:00
zhengshuxin
9ace98a715 test fiber event 2022-03-26 14:18:31 +08:00
zhengshuxin
fd46bf0c70 Merge branch 'master' of gitee:zsxxsz/acl into gitee-master 2022-03-23 21:24:05 +08:00
zhengshuxin
6520151c67 Don't write log in fiber_io_check() to avoid writing log recursively when user hooks the log process. 2022-03-23 21:22:56 +08:00
shuxin   zheng
294c672158 optimize log module of fiber 2022-03-23 18:48:31 +08:00
zhengshuxin
043eae1fee optimize hook/poll.c 2022-03-23 17:33:10 +08:00
zhengshuxin
4da53a2d6d optimize epoll.c for hooking system API in fiber module. 2022-03-23 16:00:31 +08:00
zhengshuxin
e1c6f218de add one test demo 2022-03-23 10:07:10 +08:00
shuxin   zheng
2072e84431 build ok on MacOS 2022-03-22 16:12:22 +08:00
zhengshuxin
1ced194a2b optimize the API epoll's hooking in fiber module 2022-03-22 15:55:58 +08:00
zhengshuxin
921e2b4971 optimize the epoll API when checking IO timeout process same as poll API in fiber module 2022-03-18 15:04:24 +08:00
shuxin   zheng
9fceb75a52 support MacOS arm64 2022-03-15 16:32:07 +08:00
zhengshuxin
efed44582f modify compiling condition which jump lib should be used on diffrent platform 2022-03-15 16:25:32 +08:00
郑树新
c738ab47b7
Merge pull request #267 from dragon-zhang/dev_support_m1
fiber support apple m1 chip
2022-03-15 16:07:12 +08:00
hailang
6fe9f020bc fiber support apple m1 chip 2022-03-15 14:58:36 +08:00
郑树新
aa4ce34e22 compiling fiber module on windows platform 2022-03-14 23:57:05 +08:00
zhengshuxin
1c1d979cec Don't free fe when read error and the fd isn't a socket in acl_fiber_read() 2022-03-14 23:32:24 +08:00
zhengshuxin
7d2e355fb6 optimize and test fd closing process in fiber module 2022-03-14 18:06:27 +08:00
shuxin   zheng
424ef402bb test fiber 2022-03-13 21:25:11 +08:00
shuxin   zheng
6667c91705 optimize event module of fiber 2022-03-13 15:51:03 +08:00
zhengshuxin
69d5e8bd63 test closing fd in another fiber 2022-03-12 23:59:32 +08:00
郑树新
f63b1af090 add new files in vc project 2022-03-10 19:16:52 +08:00
zhengshuxin
6945a9f1cc add more comments for fiber module 2022-03-09 23:59:10 +08:00
zhengshuxin
fc3f1d5fee optimize hooked API in poll.c 2022-03-08 18:12:04 +08:00
shuxin   zheng
d120059d83 build ok on MacOS 2022-03-08 17:03:06 +08:00
zhengshuxin
1310323d77 optimize performance by caching temp object in fiber module 2022-03-08 16:05:53 +08:00
zhengshuxin
14837868c2 optimize timer module in fiber 2022-03-08 15:10:03 +08:00
zhengshuxin
7dc678dff1 test fiber 2022-03-08 07:28:49 +08:00
root
c532379f51 optimize performance by decrease calling gettimeofday();
optimize performance in the hooked API for poll and epoll;
2022-03-06 16:24:34 +08:00
郑树新
28a80b1c06 test fiber in iocp mode 2022-03-04 17:42:30 +08:00
郑树新
3044f6980b optimize closing another's fd in iocp mode on windows 2022-03-04 00:27:15 +08:00
zhengshuxin
2104e75f6e optimize closing another fiber's fd in one fiber 2022-03-03 22:24:52 +08:00
zhengshuxin
6d440dd494 optimize the closing fd process from anohter fiber 2022-03-03 18:47:23 +08:00
zhengshuxin
48a57a5abe optimize the process that closing one fd from another fiber 2022-03-03 12:42:01 +08:00
zhengshuxin
7fc6c823ab add compiling options for handling callback process 2022-03-02 22:41:10 +08:00
zhengshuxin
8cd6733b80 clear IO waiting status in hook/epoll.c in fiber module 2022-03-02 21:22:12 +08:00
zhengshuxin
18979c88a5 optimize for closing fd in another fiber from the running fiber 2022-03-02 18:33:09 +08:00
shuxin   zheng
6313725b14 adding new feature that one fiber can close another fiber's fd 2022-03-01 19:04:30 +08:00
zhengshuxin
a60dbd21e1 adding new feature that one fiber can close another fiber's fd 2022-03-01 19:02:05 +08:00
郑树新
396d634e83 set SO_LINGER option for the socketpair's implement on windows. 2022-02-27 17:41:51 +08:00
郑树新
1801603682 add project for demo fiber_tbox on windows 2022-02-24 23:05:43 +08:00
郑树新
1921afab07 test fiber_tbox on windows 2022-02-24 23:03:10 +08:00
zhengshuxin
0fe52cf465 test setting timeout by setsockopt in fiber module 2022-02-20 23:44:30 +08:00
郑树新
c231ca4ad9 test fiber on windows 2022-02-20 16:56:04 +08:00
zhengshuxin
a48c6a9613 optimize the APIs for poll and epoll 2022-02-20 16:26:18 +08:00
zhengshuxin
0a583194c8 test fiber 2022-02-20 13:22:02 +08:00
zhengshuxin
116566ffc0 Do not put the fiber in ready quque if the fiber has been killed by the other fiber. 2022-02-20 13:17:28 +08:00
zhengshuxin
d1a93c1aa6 Do not set no-blocking in fiber_file_open_xxx() 2022-02-20 13:00:25 +08:00
zhengshuxin
f940f2dca3 seperate read/write fiber for reading and writing process 2022-02-20 11:39:46 +08:00
郑树新
3c4b8dab92 fixed compiling libfiber's error on vc2012 2022-02-17 19:26:48 +08:00
zhengshuxin
f93fe96ec1 optimize and test fiber module 2022-02-16 23:01:54 +08:00
zhengshuxin
d4a829102f test fiber 2022-02-16 18:16:58 +08:00
郑树新
3fe4ad1a84 optimize and fixed bugs in fiber module when using IOCP event 2022-02-15 22:34:10 +08:00
郑树新
2b9418a396 optimize for windows platform by conditional building. 2022-02-04 13:48:04 +08:00
zhengshuxin
8d7cf5cdfc build samples ok on WSL ubuntu 2022-01-28 12:28:21 +08:00
root
edf0b72aa3 porting to Alpine Linux ok 2022-01-27 19:37:10 +00:00
root
e29632e52e porting to ALPINE Linux 2022-01-27 18:46:55 +00:00
郑树新
2f63cb52b7 delete debug code 2022-01-26 22:41:17 +08:00
郑树新
e5f73baa0f IOCP in fiber module supports GetQueuedCompletionStatusEx() 2022-01-26 22:34:50 +08:00
郑树新
b1ed096912 test iocp 2022-01-26 18:47:38 +08:00
郑树新
de77ff891c optimize and test iocp 2022-01-26 18:08:55 +08:00
shuxin   zheng
d7fa5eab36 test httpd_proxy demo 2022-01-24 18:36:08 +08:00
shuxin   zheng
0c6ace92e0 test fiber demo 2022-01-24 09:02:42 +08:00
zhengshuxin
1b010b8fd9 test fiber on linux 2022-01-23 23:56:48 +08:00
zhengshuxin
b2860d6d3d build fiber module on linux 2022-01-23 23:51:29 +08:00
郑树新
566961f9a4 fixed some bugs in iocp mode in fiber module 2022-01-23 23:46:19 +08:00
郑树新
dbdcfb5511 add socket control for connecting server with timeout in non-blocking 2022-01-22 09:44:28 +08:00
shuxin   zheng
a5416395ed test SO_RCVTIMEO in fiber mode 2022-01-21 21:41:28 +08:00
zhengshuxin
b8ab3c87bb test 2022-01-21 18:30:13 +08:00
zhengshuxin
f5ae880e8e NON_BLOCKING shouldn't be set when creating one socket. 2022-01-21 18:04:30 +08:00
zhengshuxin
0344633fbd event_select should set wset in select() 2022-01-21 17:43:54 +08:00
zhengshuxin
ae61a9d432 Merge branch 'master' of gitee:zsxxsz/acl into gitee-master 2022-01-21 17:33:44 +08:00
zhengshuxin
16b2a60d20 fixed bugs that the connecting timeout process isn't available in fiber mode 2022-01-21 17:31:50 +08:00
郑树新
474c2258f5 test fiber on windows 2022-01-20 23:58:22 +08:00
郑树新
87bb2ea18f add fiber tests 2022-01-20 23:06:54 +08:00
zhengshuxin
17a08ea4aa test fiber demo 2022-01-13 23:28:23 +08:00
郑树新
2beca0cdce test fiber in multiple threads 2022-01-13 23:17:41 +08:00
郑树新
eb361c4d32 add one demo for testing fiber in multiple threads on windows platform 2022-01-13 22:49:21 +08:00
郑树新
6832141597 don't call winapi_hook_once() more than once in multiple threads. 2022-01-13 22:46:52 +08:00
zhengshuxin
e516804b78 fixed one bug in acl_fiber_delay() that the event loops too quickly for the event waiting timeout been set 0. 2021-11-23 17:40:37 +08:00
郑树新
249d34c53c test fiber demo 2021-10-13 20:40:22 +08:00
郑树新
e2deb72f12 test demos 2021-10-12 21:25:08 +08:00
郑树新
566cc3b010 test iocp in fiber 2021-10-12 20:54:54 +08:00
郑树新
72d6b1f0fc optimize and test iocp of fiber module. 2021-10-12 18:01:04 +08:00
zhengshuxin
44ff4a5c91 add acl_sane_bind() 2021-10-12 17:46:00 +08:00
郑树新
a8655cfb73 format code 2021-10-12 14:32:10 +08:00
shuxin   zheng
91474bbd3e build ok for Unix 2021-10-12 11:39:41 +08:00
郑树新
c43293a6ac optimize and test fiber event in iocp mode 2021-10-12 11:34:19 +08:00
郑树新
3a2df0f612 add one fiber demo 2021-10-12 08:56:56 +08:00
郑树新
96a825025d optimize and test iocp mode in fiber module 2021-10-11 23:31:14 +08:00
郑树新
4af6484b9a optimize iocp event in fiber module. 2021-10-11 18:48:24 +08:00
郑树新
6f12882b80 test iocp 2021-10-10 23:09:32 +08:00
郑树新
fca21901ac test iocp for fiber module 2021-10-07 23:13:21 +08:00
shuxin   zheng
5c96afd9ce optimize code 2021-09-24 09:10:14 +08:00
shuxin   zheng
d2d376ce73 optimize socketpair 2021-09-24 08:57:02 +08:00
郑树新
cf5bcf5acf optimize socketpair.c 2021-09-23 22:37:56 +08:00
郑树新
310a87f844 optimize vs projects for windows platform 2021-09-17 00:11:06 +08:00
郑树新
cde03a74d4 optimize vs projects 2021-09-16 19:27:09 +08:00
shuxin   zheng
d534da296c build ok by xcode 2021-09-16 15:54:16 +08:00
shuxin   zheng
cbdddcca4d optimize fiber for windows platform 2021-09-16 15:17:40 +08:00
郑树新
f3423ef849 optimize fiber module for Windows GUI 2021-09-16 14:57:37 +08:00
郑树新
c0719a1b2e optimize vc projects 2021-09-14 18:34:21 +08:00
郑树新
78b14993ef test fiber module for Windows GUI 2021-09-13 16:55:48 +08:00
郑树新
3ee786f06b add one GUI demo for using acl fiber 2021-09-13 16:55:27 +08:00
郑树新
25067f8cb1 add Windows Gui demo HttpGet 2021-09-13 00:19:49 +08:00
郑树新
a8086534c3 optimize and test socketpair for windows 2021-09-09 11:23:05 +08:00
shuxin   zheng
a1d5eb509a optimize socketpair API for windows 2021-09-09 11:07:44 +08:00
郑树新
6279631074 test fiber module on windows 2021-09-08 18:46:38 +08:00
郑树新
8b50e80af3 optimize DNS of fiber for windows 2021-09-08 00:17:57 +08:00
郑树新
e9ea53d74b the thread fiber should be checked when stopping fiber schedule 2021-09-06 22:44:20 +08:00
郑树新
a4fb983866 test fiber for Win GUI 2021-09-06 16:50:23 +08:00
郑树新
a6f2e61d8c test fiber_tbox for win GUI ok 2021-09-05 23:29:29 +08:00
郑树新
ce60ce7150 fixed bug in acl_atomic.c and atomic.c 2021-08-25 16:28:07 +08:00
郑树新
e0601e582f test some fiber module on windows 2021-08-23 18:41:23 +08:00
郑树新
ff71cebfae test fiber on windows 2021-08-23 11:21:59 +08:00
zhengshuxin
f2db150306 format code 2021-08-22 23:28:21 +08:00
郑树新
9d3f6d5cfd test API hook for fiber module on Windows platform. 2021-08-22 23:15:38 +08:00
郑树新
227a958fd8 add lost project files 2021-08-19 23:40:20 +08:00
郑树新
2f47091920 test winapi hook in fiber module on Windows platform. 2021-08-19 23:31:12 +08:00
郑树新
0b96b4f201 test API hook for fiber module on Windows platform. 2021-08-19 22:39:42 +08:00
zhengshuxin
174b1638f6 test fiber module 2021-08-19 22:18:37 +08:00
郑树新
04aaede734 optimize fiber module by hooking system API on windows 2021-08-19 21:45:41 +08:00
zhengshuxin
099b658685 optimizing fiber module 2021-08-18 16:32:34 +08:00
郑树新
1f013d27e4 add detours module in fiber 2021-08-18 16:26:06 +08:00
郑树新
266e3c78ff add lost files of fiber module 2021-08-18 16:25:30 +08:00
郑树新
2d04980910 optimizing fiber module 2021-08-18 16:07:35 +08:00