diff options
author | Hector Martin | 2009-10-12 06:10:50 +0200 |
---|---|---|
committer | Hector Martin | 2009-10-12 06:10:50 +0200 |
commit | 07378b9203f949fb7a475115051edb09f134d8ff (patch) | |
tree | fe787e4a29d23c1718264fbec7feb58377944ccd /common | |
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 'common')
-rw-r--r-- | common/utils.c | 5 | ||||
-rw-r--r-- | common/utils.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/common/utils.c b/common/utils.c index 6803941..f66d889 100644 --- a/common/utils.c +++ b/common/utils.c @@ -65,6 +65,11 @@ void fdlist_free(struct fdlist *list) list->fds = NULL; } +void fdlist_reset(struct fdlist *list) +{ + list->count = 0; +} + void collection_init(struct collection *col) { col->list = malloc(sizeof(void *)); diff --git a/common/utils.h b/common/utils.h index ad4ac9d..f9cfa93 100644 --- a/common/utils.h +++ b/common/utils.h @@ -39,6 +39,7 @@ struct fdlist { void fdlist_create(struct fdlist *list); void fdlist_add(struct fdlist *list, enum fdowner owner, int fd, short events); void fdlist_free(struct fdlist *list); +void fdlist_reset(struct fdlist *list); struct collection { void **list; |