Commit Graph

1036 Commits

Author SHA1 Message Date
zhengshuxin
ab148987ce service templates in the mode of fiber or thread can bind wildcad addresses. 2023-05-25 19:00:22 +08:00
zhengshuxin
d14accaefb Add comments for fiber_tbox2. 2023-05-24 17:33:09 +08:00
shuxin   zheng
ca1728d4e3 Add fiber_tbox2.hpp into xcode project. 2023-05-24 16:36:59 +08:00
zhengshuxin
4d2259e912 Add fiber_tbox2 for supporting std::shared_ptr. 2023-05-24 16:27:24 +08:00
zhengshuxin
425927b886 recvmmsg API's declaration is different between Ubuntu and CentOS. 2023-05-19 17:57:49 +08:00
zhengshuxin
becf9dc59d Add timeouted read when using fiber_recvmmsg in fiber module. 2023-05-19 17:26:05 +08:00
zhengshuxin
603fd9938b Support hooking recvmmsg/sendmmsg API in libfiber. 2023-05-19 17:13:46 +08:00
zhengshuxin
00b266843b Test fiber_sem. 2023-05-13 00:06:50 +08:00
zhengshuxin
03e76d0a7e fiber_sem add async mode for posting message. 2023-05-12 23:25:58 +08:00
zhengshuxin
1f1e47e4cd Add HTTP PUT for demo 2023-05-05 14:18:50 +08:00
zhengshuxin
2d0fa87a8e format code style 2023-04-27 10:50:21 +08:00
zhengshuxin
c220e156e9 format code style of fiber module. 2023-04-27 10:39:55 +08:00
zhengshuxin
d8f3bcd4ec test fiber in sharing stack mode. 2023-04-26 14:11:40 +08:00
zhengshuxin
152053d343 Change the sharing stack's size from 1MB to 10MB. 2023-04-25 18:40:24 +08:00
shuxin   zheng
30e28278e9 Build ok for multiple platforms. 2023-04-17 16:28:35 +08:00
zhengshuxin
af706f7143 Build fiber's demos sucessfully on cs6 and cs5 2023-04-11 15:59:13 +08:00
zhengshuxin
37ee4f42e6 test share stack of fiber 2023-04-04 19:08:26 +08:00
zhengshuxin
5de8370700 Optimize and test sharing stack of fiber. 2023-04-04 16:35:31 +08:00
zhengshuxin
4699c2f4c0 ETIMEDOUT should be used other than ETIME. 2023-03-31 23:18:38 +08:00
zhengshuxin
f4360ba693 Redis pipeline module can be used in sharing stack mode of fiber. 2023-03-31 21:51:45 +08:00
zhengshuxin
331e4826dc Don't write some error log 2023-03-30 16:29:29 +08:00
zhengshuxin
8d371b0a17 Use ETIME other ETIMEDOUT on Unix-like OS. 2023-03-29 22:57:44 +08:00
zhengshuxin
66551ff234 build ok by cmake 2023-03-27 20:48:27 +08:00
shuxin   zheng
2486695cc0 Fixed one bug in fiber_mutex module where some resouce collision maybe happen. 2023-03-22 14:56:05 +08:00
zhengshuxin
60ef870ff5 build on macos 2023-03-19 23:01:02 +08:00
zhengshuxin
afeb562f8a MacOS doesn't support CLOCK_REALTIME_COARSE, we should use CLOCK_REALTIME. 2023-03-19 22:56:13 +08:00
zhengshuxin
43dde62075 Optimeize peformance by using clock_gettime to replace gettimeofday 2023-03-19 21:21:11 +08:00
zhengshuxin
389158b1a3 Optimize fiber's performance by decreasing the count of calling gettimeofday. 2023-03-18 19:19:57 +08:00
zhengshuxin
7ec8c3aa44 build acl on centos5.8, 6.6 2023-03-08 14:15:27 +08:00
zhengshuxin
489937e444 Optimize Makefile. 2023-02-14 16:36:24 +08:00
zhengshuxin
aed84b645f Modify readme 2023-02-11 00:14:52 +08:00
zhengshuxin
63b5f80298 Add some debug functions. 2023-02-05 10:25:54 +08:00
zhengshuxin
3ff6cf80fb c++ headers dependence 2023-02-04 21:00:37 +08:00
zhengshuxin
6edfd3c74d headers sequence 2023-02-04 20:49:54 +08:00
zhengshuxin
0c1a9d9484 test demo 2023-01-28 15:46:32 +08:00
zhengshuxin
846358ee6f Modify fiber's readme 2023-01-26 16:15:11 +08:00
zhengshuxin
8224e8888a Add default event type in acl::fiber::schedule() 2023-01-26 16:03:16 +08:00
zhengshuxin
488ea4d473 modify readme 2023-01-25 22:05:58 +08:00
zhengshuxin
937f4c0739 Modify readme of libfiber 2023-01-25 21:31:34 +08:00
zhengshuxin
8d719cbe30 Add fiber_mutex_guard class for easily using fiber_mutex. 2023-01-17 17:39:57 +08:00
zhengshuxin
70e825f513 Rename id() to fiber_id() in fiber.hpp 2023-01-17 17:18:56 +08:00
shuxin   zheng
fbe061245c test aio_server in fiber mode 2023-01-16 17:04:30 +08:00
zhengshuxin
37a5f3bcd0 Test fcntl for hooking API 2023-01-16 16:26:31 +08:00
zhengshuxin
bdb35bc6e9 Optimize hook API of fcntl. 2023-01-16 16:22:38 +08:00
zhengshuxin
780318a3df Hook fcntl on Linux. 2023-01-16 15:46:43 +08:00
zhengshuxin
5927fddb41 Add demo test the performance ACL_FIBER_LOCK vs ACL_FIBER_MUTEX 2023-01-12 22:30:24 +08:00
zhengshuxin
f36257685e Test . 2023-01-12 17:50:40 +08:00
zhengshuxin
884c1457b2 Set fiber's status before it's suspended. 2023-01-12 17:49:24 +08:00
zhengshuxin
ea3770320a Add the global object to hold all ACL_FIBER_COND objects. 2023-01-12 17:48:29 +08:00
zhengshuxin
fd9806b2a6 Add conditional compiling with DEBUG_STACK 2023-01-11 23:02:39 +08:00
郑树新
cf25672923 Build ok on windows. 2023-01-11 22:51:39 +08:00
zhengshuxin
1ec47b99b0 Just compiling. 2023-01-11 22:47:18 +08:00
zhengshuxin
6305f57e48 test 2023-01-11 22:42:03 +08:00
zhengshuxin
b10fd0acad Build ok on MacOS 2023-01-11 22:40:12 +08:00
zhengshuxin
3ef3fa8128 Add C++ API for fiber mutex deadlock checking. 2023-01-11 22:29:45 +08:00
zhengshuxin
758dd3852a Add stacktrace for fiber cpp lib. 2023-01-11 10:22:33 +08:00
zhengshuxin
0864514ae4 Build demos on MacOS 2023-01-11 00:29:44 +08:00
zhengshuxin
fb02991e32 Use SNPRINTF macro for multiple platforms. 2023-01-11 00:24:44 +08:00
zhengshuxin
e4b0b89bf4 The deadlock function is ok. 2023-01-11 00:19:09 +08:00
zhengshuxin
e5c61d1130 Add deadlock checking for ACL_FIBER_MUTEX 2023-01-10 18:00:34 +08:00
zhengshuxin
6be344c73c FIBER_F_STARTED flags should be set for origin fiber. 2023-01-04 17:58:56 +08:00
郑树新
5a4294cef4 build ok on windows 2023-01-03 22:30:32 +08:00
shuxin   zheng
408c6e0db0 acl_fiber_stacktrace() can't be used on MacOS because libunwind don't support MacOS. 2023-01-03 15:47:19 +08:00
zhengshuxin
0732c5dd06 We can get any fibers' stack now. 2023-01-03 15:33:41 +08:00
zhengshuxin
891ef11c5a Remove some useless items in ACL_FIBER to decrease the memory size of ACL_FIBER. 2023-01-03 14:42:31 +08:00
zhengshuxin
127c23da34 Optimize fiber sturcture and add fiber stack's backtrace for debuging. 2023-01-03 00:04:43 +08:00
shuxin   zheng
cab643b862 Build ok by cmake. 2022-12-30 09:50:42 +08:00
zhengshuxin
e28c539c28 Don't test eventfd on MacOS 2022-12-29 22:21:50 +08:00
zhengshuxin
9da39ede8a test eventfd in unit_test of fiber module 2022-12-29 22:20:06 +08:00
zhengshuxin
7dab9ca16a add eventfd test in unit_test of fiber module. 2022-12-29 22:11:51 +08:00
zhengshuxin
8ab868259d add file read test in unit_test of fiber 2022-12-29 21:51:06 +08:00
shuxin   zheng
dd5171df8c fixed one bug in MacOS for checking one fd can be monitored by event 2022-12-29 18:48:58 +08:00
zhengshuxin
799620696c add test cases in unit_test for fiber module 2022-12-29 17:28:06 +08:00
zhengshuxin
c674ebeac2 Adding unit testing framework for fiber module. 2022-12-28 17:04:41 +08:00
zhengshuxin
4e73f4be3a fiber_cond using the global timer to waiting timer arriving. 2022-12-28 12:40:18 +08:00
zhengshuxin
eae6be59ed Optimize sync_timer.c by using the global timer. 2022-12-28 00:01:44 +08:00
zhengshuxin
d2ac79798a Optimize fiber's timer module for performance improvement by using AVL tree. 2022-12-27 16:20:47 +08:00
zhengshuxin
7eed42a74a fixed one bug in sync_timer.c for waiting with timeout 2022-12-26 18:49:24 +08:00
zhengshuxin
0a06559547 just optimize codes 2022-12-25 16:54:14 +08:00
zhengshuxin
79ee418c14 test fiber_cond 2022-12-25 16:20:13 +08:00
zhengshuxin
6667c02ca9 optimize sync_waiter.c when the waiter fiber and the wakeup fiber are in the same thread. 2022-12-25 16:19:05 +08:00
zhengshuxin
199bae6894 add checking before call sync_timer_await 2022-12-25 16:18:41 +08:00
zhengshuxin
078601357a fixed one bug that the function pointer of IO api maybe not been set 2022-12-25 16:16:39 +08:00
zhengshuxin
da9959c4db Don't add reference for FILE_EVENT in poll.c 2022-12-22 16:23:39 +08:00
zhengshuxin
078e0b23fd The current running fiber should be set in poll.c 2022-12-20 16:15:46 +08:00
zhengshuxin
7a8694e367 Fixed one bug in poll.c for closing another fiber's fd 2022-12-20 15:34:47 +08:00
zhengshuxin
afaf06e041 add another more efficient sendfile's implement than by using splice. 2022-12-12 02:36:11 +08:00
zhengshuxin
fbbf99ea0d delete usless MACRO define 2022-12-12 01:00:43 +08:00
zhengshuxin
8901830536 test fiber_stop demo 2022-12-19 15:00:03 +08:00
zhengshuxin
cf53a8add4 add one demo. 2022-12-11 21:31:18 +08:00
郑树新
75526ace1a build ok on windows 2022-12-17 19:20:20 +08:00
zhengshuxin
b4ef412762 add one demo for test waiting fiber with fiber_tbox 2022-12-16 21:57:41 +08:00
zhengshuxin
a77777c6f9 add dead lock test 2022-12-16 20:29:03 +08:00
zhengshuxin
92d5fdc284 release 3.6.0-2 for compatibility for calling gettid() on Linux. 2022-12-16 14:53:04 +08:00
zhengshuxin
ffe5b13c9e compiling ok on ubuntu 2022-12-16 13:48:37 +08:00
shuxin   zheng
4706251ffa build ok on macos 2022-12-16 13:44:49 +08:00
zhengshuxin
050276c8fe fixed one occasionally bugs in fiber_mutex that the waiter can't be wakeuped. 2022-12-16 12:42:47 +08:00
zhengshuxin
5b6d473d7b test demo 2022-12-16 12:00:57 +08:00
zhengshuxin
61f9c60c8a format code style 2022-12-16 10:39:18 +08:00
zhengshuxin
22c65aba40 macro define should enclosed in brackets 2022-12-16 10:38:48 +08:00