diff options
author | Ludovic Rousseau <rousseau@debian.org> | 2010-06-21 10:19:29 +0200 |
---|---|---|
committer | Pete Batard <pbatard@gmail.com> | 2010-07-29 11:19:17 +0100 |
commit | 65faf2142660f2956079d8c14a474d79118b1e1f (patch) | |
tree | 901512990c3de4e309fc8c1700fba3ac6ea44f8c | |
parent | 68052b337173d2271a640226ceb79e6e5cd21731 (diff) | |
download | libusb-65faf2142660f2956079d8c14a474d79118b1e1f.tar.gz |
Only initialize the default context when it is requested
-rw-r--r-- | libusb/core.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libusb/core.c b/libusb/core.c index d0d3b4e..28f9ddb 100644 --- a/libusb/core.c +++ b/libusb/core.c @@ -1533,10 +1533,15 @@ API_EXPORTED int LIBUSB_API libusb_init(libusb_context **context) goto err; } + if (context) { + *context = ctx; + } else if (!usbi_default_context) { + usbi_dbg("created default context"); + usbi_default_context = ctx; + default_context_refcnt++; + } usbi_mutex_static_unlock(&default_context_lock); - if (context) - *context = ctx; return 0; err: |