summaryrefslogtreecommitdiff
path: root/libusb/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'libusb/io.c')
-rw-r--r--libusb/io.c38
1 files changed, 22 insertions, 16 deletions
diff --git a/libusb/io.c b/libusb/io.c
index 4d0971b..883c4e1 100644
--- a/libusb/io.c
+++ b/libusb/io.c
@@ -1752,7 +1752,8 @@ int API_EXPORTED libusb_try_lock_events(libusb_context *ctx)
{
int r;
unsigned int ru;
- USBI_GET_CONTEXT(ctx);
+
+ ctx = usbi_get_context(ctx);
/* is someone else waiting to close a device? if so, don't let this thread
* start event handling */
@@ -1792,7 +1793,7 @@ int API_EXPORTED libusb_try_lock_events(libusb_context *ctx)
*/
void API_EXPORTED libusb_lock_events(libusb_context *ctx)
{
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
usbi_mutex_lock(&ctx->events_lock);
ctx->event_handler_active = 1;
}
@@ -1807,7 +1808,7 @@ void API_EXPORTED libusb_lock_events(libusb_context *ctx)
*/
void API_EXPORTED libusb_unlock_events(libusb_context *ctx)
{
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
ctx->event_handler_active = 0;
usbi_mutex_unlock(&ctx->events_lock);
@@ -1843,7 +1844,8 @@ void API_EXPORTED libusb_unlock_events(libusb_context *ctx)
int API_EXPORTED libusb_event_handling_ok(libusb_context *ctx)
{
unsigned int r;
- USBI_GET_CONTEXT(ctx);
+
+ ctx = usbi_get_context(ctx);
/* is someone else waiting to close a device? if so, don't let this thread
* continue event handling */
@@ -1871,7 +1873,8 @@ int API_EXPORTED libusb_event_handling_ok(libusb_context *ctx)
int API_EXPORTED libusb_event_handler_active(libusb_context *ctx)
{
unsigned int r;
- USBI_GET_CONTEXT(ctx);
+
+ ctx = usbi_get_context(ctx);
/* is someone else waiting to close a device? if so, don't let this thread
* start event handling -- indicate that event handling is happening */
@@ -1899,9 +1902,10 @@ int API_EXPORTED libusb_event_handler_active(libusb_context *ctx)
void API_EXPORTED libusb_interrupt_event_handler(libusb_context *ctx)
{
int pending_events;
- USBI_GET_CONTEXT(ctx);
usbi_dbg(" ");
+
+ ctx = usbi_get_context(ctx);
usbi_mutex_lock(&ctx->event_data_lock);
pending_events = usbi_pending_events(ctx);
@@ -1933,7 +1937,7 @@ void API_EXPORTED libusb_interrupt_event_handler(libusb_context *ctx)
*/
void API_EXPORTED libusb_lock_event_waiters(libusb_context *ctx)
{
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
usbi_mutex_lock(&ctx->event_waiters_lock);
}
@@ -1944,7 +1948,7 @@ void API_EXPORTED libusb_lock_event_waiters(libusb_context *ctx)
*/
void API_EXPORTED libusb_unlock_event_waiters(libusb_context *ctx)
{
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
usbi_mutex_unlock(&ctx->event_waiters_lock);
}
@@ -1977,7 +1981,7 @@ int API_EXPORTED libusb_wait_for_event(libusb_context *ctx, struct timeval *tv)
{
int r;
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
if (tv == NULL) {
usbi_cond_wait(&ctx->event_waiters_cond, &ctx->event_waiters_lock);
return 0;
@@ -2052,7 +2056,8 @@ static int handle_timeouts_locked(struct libusb_context *ctx)
static int handle_timeouts(struct libusb_context *ctx)
{
int r;
- USBI_GET_CONTEXT(ctx);
+
+ ctx = usbi_get_context(ctx);
usbi_mutex_lock(&ctx->flying_transfers_lock);
r = handle_timeouts_locked(ctx);
usbi_mutex_unlock(&ctx->flying_transfers_lock);
@@ -2369,7 +2374,7 @@ int API_EXPORTED libusb_handle_events_timeout_completed(libusb_context *ctx,
int r;
struct timeval poll_timeout;
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
r = get_next_timeout(ctx, tv, &poll_timeout);
if (r) {
/* timeout already expired */
@@ -2506,7 +2511,7 @@ int API_EXPORTED libusb_handle_events_locked(libusb_context *ctx,
int r;
struct timeval poll_timeout;
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
r = get_next_timeout(ctx, tv, &poll_timeout);
if (r) {
/* timeout already expired */
@@ -2547,7 +2552,7 @@ int API_EXPORTED libusb_handle_events_locked(libusb_context *ctx,
int API_EXPORTED libusb_pollfds_handle_timeouts(libusb_context *ctx)
{
#ifdef HAVE_TIMERFD
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
return usbi_using_timerfd(ctx);
#else
UNUSED(ctx);
@@ -2592,7 +2597,7 @@ int API_EXPORTED libusb_get_next_timeout(libusb_context *ctx,
struct timeval next_timeout = { 0, 0 };
int r;
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
if (usbi_using_timerfd(ctx))
return 0;
@@ -2665,7 +2670,7 @@ void API_EXPORTED libusb_set_pollfd_notifiers(libusb_context *ctx,
libusb_pollfd_added_cb added_cb, libusb_pollfd_removed_cb removed_cb,
void *user_data)
{
- USBI_GET_CONTEXT(ctx);
+ ctx = usbi_get_context(ctx);
ctx->fd_added_cb = added_cb;
ctx->fd_removed_cb = removed_cb;
ctx->fd_cb_user_data = user_data;
@@ -2763,7 +2768,8 @@ const struct libusb_pollfd ** LIBUSB_CALL libusb_get_pollfds(
struct libusb_pollfd **ret = NULL;
struct usbi_pollfd *ipollfd;
size_t i = 0;
- USBI_GET_CONTEXT(ctx);
+
+ ctx = usbi_get_context(ctx);
usbi_mutex_lock(&ctx->event_data_lock);