summaryrefslogtreecommitdiffstats
path: root/daemon/main.c
diff options
context:
space:
mode:
authorGravatar Hector Martin2009-10-12 06:10:50 +0200
committerGravatar Hector Martin2009-10-12 06:10:50 +0200
commit07378b9203f949fb7a475115051edb09f134d8ff (patch)
treefe787e4a29d23c1718264fbec7feb58377944ccd /daemon/main.c
parentac37795c7cca4d297ff860678a4197ee94d80f20 (diff)
downloadusbmuxd-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/main.c')
-rw-r--r--daemon/main.c5
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)
int to, cnt, i, dto;
struct fdlist pollfds;
+ fdlist_create(&pollfds);
while(!should_exit) {
usbmuxd_log(LL_FLOOD, "main_loop iteration");
to = usb_get_timeout();
@@ -147,7 +148,7 @@ int main_loop(int listenfd)
if(dto < to)
to = dto;
- fdlist_create(&pollfds);
+ fdlist_reset(&pollfds);
fdlist_add(&pollfds, FD_LISTEN, listenfd, POLLIN);
usb_get_fds(&pollfds);
client_get_fds(&pollfds);
@@ -201,8 +202,8 @@ int main_loop(int listenfd)
}
}
}
- fdlist_free(&pollfds);
}
+ fdlist_free(&pollfds);
return 0;
}