Subject | Hash | Author | Date (UTC) |
---|---|---|---|
Avoid doing epoll_ctl using a cache. | 9bc66cd209921998195b25c2f296fd0516a1ddbb | Catalin(ux) M. BOIE | 2010-05-06 16:53:13 |
Do not call gerpeername and getsockname at every accept/connect. Do it only when needed. | d2505dbca77358b6ed67394e09904b525ea517e6 | Catalin(ux) M. BOIE | 2010-05-06 16:38:40 |
Simplified setting NONBLOCK in Conn_setnonblock. | 18d93d4daf5182e2c2749be05f7bbd43bb18bb18 | Catalin(ux) M. BOIE | 2010-05-06 16:13:34 |
strstr should not use case sensitive when searching for \n. | 50658544213ff74d0e03625c5e3fae0eadba73ad | Catalin(ux) M. BOIE | 2010-05-06 16:11:06 |
Grow receiving buffer with Conn_default_ibuf instead of 0! Stupid! | f663a98fc5db5f64a4ed7bf9a37ae5a1a708ac3c | Catalin(ux) M. BOIE | 2010-05-06 16:10:13 |
Use fd -1 to signal that the socket is closed. | 66c44cbeb5672fae1bea46260adbae06a3562d88 | Catalin(ux) M. BOIE | 2010-05-06 16:08:59 |
Better error logging in xbind example. | dac03d74521e751de9d900ea115ad2fbd2deba6e | Catalin(ux) M. BOIE | 2010-02-16 20:22:05 |
Fixed some stupid choices regarding storage type for the output of snprintf. | 3cddc7934c4fc2640e4a60d408e98c45acef48c9 | Catalin(ux) M. BOIE | 2010-02-05 00:12:13 |
First round of memory status. | 9e267dc05ec2c0b1e50288a6d9a5db5d3677e82e | Catalin(ux) M. BOIE | 2010-02-04 23:46:48 |
Do not overwrite Conn_error in Conn_free_intern. | 380c378dd92e7a797f0dfec99bed7ce77034933c | Catalin(ux) M. BOIE | 2010-02-04 23:31:50 |
No need to remove fd from epoll just before closing it. | bf7e91a441314a37f5f8a2430645c913b953499f | Catalin(ux) M. BOIE | 2010-02-04 23:17:05 |
Log status at the end for xbind example. | 2caa2d8a3dc509e91235fd23c396061931ae1ef8 | Catalin(ux) M. BOIE | 2010-02-04 23:11:39 |
Log also fd in Conn_free_intern. | 2e12c2ed0b4c39341ec3da3c6fc52d32f4a351eb | Catalin(ux) M. BOIE | 2010-02-04 23:11:09 |
In shutdown, close the file descriptors. | 8bf16a0b5413d8f99cb466b52efcbd12318e958d | Catalin(ux) M. BOIE | 2010-01-27 18:51:36 |
Added xbind example. | 1cdf8e8fd7ba9049eafef8f136d6b4e5e870b0ff | Catalin(ux) M. BOIE | 2009-12-30 22:37:01 |
TODO in/out. | b0d7ba7f8abe58861a47586d767ff35bc1f0961d | Catalin(ux) M. BOIE | 2009-12-30 22:35:55 |
Stop Conn if nothing to do. | 7f13d71774792aa97b341a2e69bb557d15b6c74a | Catalin(ux) M. BOIE | 2009-12-06 01:38:12 |
Improved Conn_split_* and removed a bad leak! | f47f85c65ac5781d9419b58b20db632772947c64 | Catalin(ux) M. BOIE | 2009-12-06 01:24:58 |
Bump up the version. | 4788a6979d84939cc7aaf824ef8e0b7357cab6cc | Catalin(ux) M. BOIE | 2009-12-07 12:50:16 |
Duilder updates. | 1b717c718189468006ff0e7fb228571e76fb97e6 | Catalin(ux) M. BOIE | 2009-12-07 12:49:55 |
File | Lines added | Lines deleted |
---|---|---|
Conn_engine_core.h | 1 | 1 |
Conn_engine_epoll.c | 7 | 0 |
File Conn_engine_core.h changed (mode: 100644) (index 040328e..82fba35) | |||
... | ... | extern unsigned int CONN_POLLRDBAND; | |
114 | 114 | struct Conn | struct Conn |
115 | 115 | { | { |
116 | 116 | int fd; | int fd; |
117 | unsigned int events, revents; /* I/O events */ | ||
117 | unsigned int events, revents, events_cache; /* I/O events */ | ||
118 | 118 | ||
119 | 119 | unsigned char type; | unsigned char type; |
120 | 120 |
File Conn_engine_epoll.c changed (mode: 100644) (index 999f465..097057b) | |||
... | ... | int Conn_epoll_add_obj(struct Conn *C) | |
94 | 94 | return C->xerrno; | return C->xerrno; |
95 | 95 | } | } |
96 | 96 | ||
97 | C->events_cache = C->events; | ||
98 | |||
97 | 99 | return 0; | return 0; |
98 | 100 | } | } |
99 | 101 | ||
... | ... | int Conn_epoll_chg_obj(struct Conn *C) | |
121 | 123 | struct epoll_event ev; | struct epoll_event ev; |
122 | 124 | int ret; | int ret; |
123 | 125 | ||
126 | if (C->events == C->events_cache) | ||
127 | return 0; | ||
128 | |||
124 | 129 | /* We may move a slot already in error state */ | /* We may move a slot already in error state */ |
125 | 130 | if (C->fd == -1) | if (C->fd == -1) |
126 | 131 | return 0; | return 0; |
... | ... | int Conn_epoll_chg_obj(struct Conn *C) | |
136 | 141 | abort(); | abort(); |
137 | 142 | } | } |
138 | 143 | ||
144 | C->events_cache = C->events; | ||
145 | |||
139 | 146 | return 0; | return 0; |
140 | 147 | } | } |
141 | 148 |