diff options
| author | 2009-10-12 06:10:50 +0200 | |
|---|---|---|
| committer | 2009-10-12 06:10:50 +0200 | |
| commit | 07378b9203f949fb7a475115051edb09f134d8ff (patch) | |
| tree | fe787e4a29d23c1718264fbec7feb58377944ccd /daemon | |
| parent | ac37795c7cca4d297ff860678a4197ee94d80f20 (diff) | |
| download | usbmuxd-07378b9203f949fb7a475115051edb09f134d8ff.tar.gz usbmuxd-07378b9203f949fb7a475115051edb09f134d8ff.tar.bz2 | |
optimize: persist fdlist for duration of main_loop
constant malloc and realloc was wasting lots of time
Diffstat (limited to 'daemon')
| -rw-r--r-- | daemon/main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/daemon/main.c b/daemon/main.c index 893f26d..f85d034 100644 --- a/daemon/main.c +++ b/daemon/main.c | |||
| @@ -138,6 +138,7 @@ int main_loop(int listenfd) | |||
| 138 | int to, cnt, i, dto; | 138 | int to, cnt, i, dto; |
| 139 | struct fdlist pollfds; | 139 | struct fdlist pollfds; |
| 140 | 140 | ||
| 141 | fdlist_create(&pollfds); | ||
| 141 | while(!should_exit) { | 142 | while(!should_exit) { |
| 142 | usbmuxd_log(LL_FLOOD, "main_loop iteration"); | 143 | usbmuxd_log(LL_FLOOD, "main_loop iteration"); |
| 143 | to = usb_get_timeout(); | 144 | to = usb_get_timeout(); |
| @@ -147,7 +148,7 @@ int main_loop(int listenfd) | |||
| 147 | if(dto < to) | 148 | if(dto < to) |
| 148 | to = dto; | 149 | to = dto; |
| 149 | 150 | ||
| 150 | fdlist_create(&pollfds); | 151 | fdlist_reset(&pollfds); |
| 151 | fdlist_add(&pollfds, FD_LISTEN, listenfd, POLLIN); | 152 | fdlist_add(&pollfds, FD_LISTEN, listenfd, POLLIN); |
| 152 | usb_get_fds(&pollfds); | 153 | usb_get_fds(&pollfds); |
| 153 | client_get_fds(&pollfds); | 154 | client_get_fds(&pollfds); |
| @@ -201,8 +202,8 @@ int main_loop(int listenfd) | |||
| 201 | } | 202 | } |
| 202 | } | 203 | } |
| 203 | } | 204 | } |
| 204 | fdlist_free(&pollfds); | ||
| 205 | } | 205 | } |
| 206 | fdlist_free(&pollfds); | ||
| 206 | return 0; | 207 | return 0; |
| 207 | } | 208 | } |
| 208 | 209 | ||
