diff options
author | Pete Batard <pbatard@gmail.com> | 2010-07-29 19:55:45 +0100 |
---|---|---|
committer | Pete Batard <pbatard@gmail.com> | 2010-07-29 20:08:12 +0100 |
commit | 48e189898075c26438bcf6782323c5525abc19bd (patch) | |
tree | d474d670bd0284b7c40378df8bf15fa771239009 /libusb | |
parent | 84d996b482177c70c11070f6317174bdfd407e80 (diff) | |
download | libusb-48e189898075c26438bcf6782323c5525abc19bd.tar.gz |
fixed residuals from official for core files
Diffstat (limited to 'libusb')
-rw-r--r-- | libusb/core.c | 6 | ||||
-rw-r--r-- | libusb/descriptor.c | 1 | ||||
-rw-r--r-- | libusb/io.c | 27 | ||||
-rw-r--r-- | libusb/libusbi.h | 2 |
4 files changed, 21 insertions, 15 deletions
diff --git a/libusb/core.c b/libusb/core.c index 6a78c51..5104f68 100644 --- a/libusb/core.c +++ b/libusb/core.c @@ -24,6 +24,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <sys/types.h> #include "libusbi.h" @@ -1540,6 +1541,11 @@ API_EXPORTED int LIBUSB_API libusb_init(libusb_context **context) goto err_free_ctx; } + usbi_mutex_init(&ctx->usb_devs_lock, NULL); + usbi_mutex_init(&ctx->open_devs_lock, NULL); + list_init(&ctx->usb_devs); + list_init(&ctx->open_devs); + r = usbi_io_init(ctx); if (r < 0) { if (usbi_backend->exit) diff --git a/libusb/descriptor.c b/libusb/descriptor.c index c713109..c1382fa 100644 --- a/libusb/descriptor.c +++ b/libusb/descriptor.c @@ -19,6 +19,7 @@ */ #include <errno.h> +#include <stdint.h> #include <stdlib.h> #include <string.h> diff --git a/libusb/io.c b/libusb/io.c index 8d94400..c9b0ba4 100644 --- a/libusb/io.c +++ b/libusb/io.c @@ -1002,7 +1002,7 @@ printf("completed!\n"); int usbi_io_init(struct libusb_context *ctx) { - int p, r; + int r; usbi_mutex_init(&ctx->flying_transfers_lock, NULL); usbi_mutex_init(&ctx->pollfds_lock, NULL); @@ -1014,15 +1014,15 @@ int usbi_io_init(struct libusb_context *ctx) list_init(&ctx->pollfds); /* FIXME should use an eventfd on kernels that support it */ - p = usbi_pipe(ctx->ctrl_pipe); - if (p < 0) { + r = usbi_pipe(ctx->ctrl_pipe); + if (r < 0) { r = LIBUSB_ERROR_OTHER; goto err; } r = usbi_add_pollfd(ctx, ctx->ctrl_pipe[0], POLLIN); if (r < 0) - goto err; + goto err_close_pipe; #ifdef USBI_TIMERFD_AVAILABLE ctx->timerfd = timerfd_create(usbi_backend->get_timerfd_clockid(), @@ -1030,8 +1030,11 @@ int usbi_io_init(struct libusb_context *ctx) if (ctx->timerfd >= 0) { usbi_dbg("using timerfd for timeouts"); r = usbi_add_pollfd(ctx, ctx->timerfd, POLLIN); - if (r < 0) - goto err; + if (r < 0) { + usbi_remove_pollfd(ctx, ctx->ctrl_pipe[0]); + close(ctx->timerfd); + goto err_close_pipe; + } } else { usbi_dbg("timerfd not available (code %d error %d)", ctx->timerfd, errno); ctx->timerfd = -1; @@ -1040,16 +1043,10 @@ int usbi_io_init(struct libusb_context *ctx) return 0; +err_close_pipe: + usbi_close(ctx->ctrl_pipe[0]); + usbi_close(ctx->ctrl_pipe[1]); err: -#ifdef USBI_TIMERFD_AVAILABLE - if (ctx->timerfd != -1) - close(ctx->timerfd); -#endif - if (0 == p) { - usbi_remove_pollfd(ctx, ctx->ctrl_pipe[0]); - usbi_close(ctx->ctrl_pipe[0]); - usbi_close(ctx->ctrl_pipe[1]); - } usbi_mutex_destroy(&ctx->flying_transfers_lock); usbi_mutex_destroy(&ctx->pollfds_lock); usbi_mutex_destroy(&ctx->pollfd_modify_lock); diff --git a/libusb/libusbi.h b/libusb/libusbi.h index cca5fa0..ef3b20e 100644 --- a/libusb/libusbi.h +++ b/libusb/libusbi.h @@ -22,8 +22,10 @@ #define __LIBUSBI_H__ #include <config.h> + #include <stddef.h> #include <stdint.h> +#include <time.h> #include <libusb.h> |