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)  	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;  } | 
