Subject | Hash | Author | Date (UTC) |
---|---|---|---|
The cache for epoll_ctl, has to take also the slot in consideration. | ed378c16927c707feee481b2cd0ea7fbdf257d9d | Catalin(ux) M. BOIE | 2010-06-09 19:18:03 |
After calling getsockname, set cache as clean. | 199f0fd96b064fd1e63f5773b1e7ab58e7d91303 | Catalin(ux) M. BOIE | 2010-06-08 18:30:20 |
Do not try to call getsockname if connection is not opened. | e9853b5b5a01df3c5e07f6fe4607a68fd7181b39 | Catalin(ux) M. BOIE | 2010-06-08 18:28:49 |
Supports kernels below 2.6.9 (epoll_ctl). | 97919a022fae39bdefc3f7e4c50526fb473dfd34 | Catalin(ux) M. BOIE | 2010-06-08 18:06:35 |
Cosmetic logging. | ad806920255f8ca5f9281b6b6a3a53edf2d5088f | Catalin(ux) M. BOIE | 2010-06-08 17:35:45 |
When generating one line of slot status, do not append \n. | 20ed77b4bf5909ded12cd225753a8858d8941792 | Catalin(ux) M. BOIE | 2010-06-08 15:57:16 |
Indented Conn_poll_cb to better watch logs. | 58d734a8895b03eb17724eefe37e862c9665fb2c | Catalin(ux) M. BOIE | 2010-06-08 15:52:44 |
If we have POLLOUT set and the queue is empty, do not call recv function. | 2f3b266eea11dea7c28f1c24b615f667585a215e | Catalin(ux) M. BOIE | 2010-06-08 15:27:40 |
Conn_{addr,port}_{local,remote} functions added. | 47643b30ea900240e821983c89eb1f806f91c6ea | Catalin(ux) M. BOIE | 2010-06-08 15:03:52 |
Wrong cache consulted! | 6d018b014156ada0bf1a138ac2178386f6bb90ab | Catalin(ux) M. BOIE | 2010-06-08 15:03:34 |
If slot is in FREE state and we get events, do not abort, but log an error. | 52301f684bb4a49fd74556f8b15fee643c4bfb06 | Catalin(ux) M. BOIE | 2010-06-07 20:25:21 |
More verbose logging and added some TODOs. | a27014689701b1dd3d0e3c02629d3c7dd0edc77e | Catalin(ux) M. BOIE | 2010-06-07 20:24:43 |
Added Conn_[io]qlen and obsoleted Conn_qlen (ambiguous). | be3822589afe052fade15fd81afee3549217131a | Catalin(ux) M. BOIE | 2010-06-07 20:23:39 |
Use u32 field of epoll. ptr on 64bit gave an warning. | 37c86810ceaadd0c8139f11e3737577efea4cabd | Catalin(ux) M. BOIE | 2010-06-07 19:46:15 |
Export CONN_VERSION in Conn_config.h | d34d7a1da235b00c3aa1c8e0494310c4dd100886 | Catalin(ux) M. BOIE | 2010-06-07 19:45:53 |
In Conn_poll_cb, show human readable events. | a3e305582e9bf1185254f8feeab90c51af626443 | Catalin(ux) M. BOIE | 2010-06-07 17:22:49 |
Cosmetic logs. | 937e40b54fabf19d7ed2102c104585bea0181634 | Catalin(ux) M. BOIE | 2010-06-07 17:22:25 |
Export Conn_poll_status. | 8d6e2e96bd8e7a34a239533edb7484d78de69995 | Catalin(ux) M. BOIE | 2010-06-07 17:21:57 |
Bump up the version to 1.0.31. | 4a307965c1f3b1449e98c7487a8e98538d237a23 | Catalin(ux) M. BOIE | 2010-05-30 19:22:27 |
On accept() set IN+OUT flags to speed up the sending (skip an epoll_wait). | 843d55ea6c8360f4f435288cd68183029e4c06e4 | Catalin(ux) M. BOIE | 2010-05-06 17:10:14 |
File | Lines added | Lines deleted |
---|---|---|
Conn_engine_core.h | 1 | 1 |
Conn_engine_epoll.c | 3 | 1 |
File Conn_engine_core.h changed (mode: 100644) (index 628ae56..1b67b22) | |||
... | ... | struct Conn | |
121 | 121 | unsigned char state; | unsigned char state; |
122 | 122 | unsigned char error_state; | unsigned char error_state; |
123 | 123 | ||
124 | unsigned int slot; | ||
124 | unsigned int slot, slot_cache; | ||
125 | 125 | ||
126 | 126 | char *ibuf; | char *ibuf; |
127 | 127 | unsigned int ibuf_size, ibuf_head, ibuf_tail; | unsigned int ibuf_size, ibuf_head, ibuf_tail; |
File Conn_engine_epoll.c changed (mode: 100644) (index 5c2b51d..51e1c11) | |||
... | ... | int Conn_epoll_add_obj(struct Conn *C) | |
95 | 95 | } | } |
96 | 96 | ||
97 | 97 | C->events_cache = C->events; | C->events_cache = C->events; |
98 | C->slot_cache = C->slot; | ||
98 | 99 | ||
99 | 100 | return 0; | return 0; |
100 | 101 | } | } |
... | ... | int Conn_epoll_chg_obj(struct Conn *C) | |
124 | 125 | struct epoll_event ev; | struct epoll_event ev; |
125 | 126 | int ret; | int ret; |
126 | 127 | ||
127 | if (C->events == C->events_cache) | ||
128 | if ((C->events == C->events_cache) && (C->slot == C->slot_cache)) | ||
128 | 129 | return 0; | return 0; |
129 | 130 | ||
130 | 131 | /* We may move a slot already in error state */ | /* We may move a slot already in error state */ |
... | ... | int Conn_epoll_chg_obj(struct Conn *C) | |
143 | 144 | } | } |
144 | 145 | ||
145 | 146 | C->events_cache = C->events; | C->events_cache = C->events; |
147 | C->slot_cache = C->slot; | ||
146 | 148 | ||
147 | 149 | return 0; | return 0; |
148 | 150 | } | } |