]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge remote-tracking branch 'remotes/bonzini/configure' into staging
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 11 Jun 2014 14:36:48 +0000 (15:36 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 11 Jun 2014 14:36:48 +0000 (15:36 +0100)
* remotes/bonzini/configure:
  rules.mak: Rewrite unnest-vars
  configure: unset interfering variables
  configure: duplicate/incorrect order of -lrt
  libcacard: improve documentation
  libcacard: actually use symbols file
  libcacard: replace qemu thread primitives with glib ones
  vscclient: use glib thread primitives not qemu
  glib-compat.h: add new thread API emulation on top of pre-2.31 API

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1  2 
libcacard/vreader.c

diff --combined libcacard/vreader.c
index 9f42f0fe2144b502c6a13b2489a2065fc5b9c099,f0c57e6db7b7881529cb79014775e5dc1c8b220f..0315dd89201cfe775ca5f1bf9e0acf947b1cdd50
@@@ -9,10 -9,8 +9,8 @@@
  #undef G_LOG_DOMAIN
  #endif
  #define G_LOG_DOMAIN "libcacard"
- #include <glib.h>
  
  #include "qemu-common.h"
- #include "qemu/thread.h"
  
  #include "vcard.h"
  #include "vcard_emul.h"
@@@ -28,7 -26,7 +26,7 @@@ struct VReaderStruct 
      VCard *card;
      char *name;
      vreader_id_t id;
-     QemuMutex lock;
+     CompatGMutex lock;
      VReaderEmul  *reader_private;
      VReaderEmulFree reader_private_free;
  };
@@@ -97,13 -95,13 +95,13 @@@ apdu_ins_to_string(int ins
  static inline void
  vreader_lock(VReader *reader)
  {
-     qemu_mutex_lock(&reader->lock);
+     g_mutex_lock(&reader->lock);
  }
  
  static inline void
  vreader_unlock(VReader *reader)
  {
-     qemu_mutex_unlock(&reader->lock);
+     g_mutex_unlock(&reader->lock);
  }
  
  /*
@@@ -116,7 -114,7 +114,7 @@@ vreader_new(const char *name, VReaderEm
      VReader *reader;
  
      reader = g_new(VReader, 1);
-     qemu_mutex_init(&reader->lock);
+     g_mutex_init(&reader->lock);
      reader->reference_count = 1;
      reader->name = g_strdup(name);
      reader->card = NULL;
@@@ -152,10 -150,13 +150,11 @@@ vreader_free(VReader *reader
          return;
      }
      vreader_unlock(reader);
+     g_mutex_clear(&reader->lock);
      if (reader->card) {
          vcard_free(reader->card);
      }
 -    if (reader->name) {
 -        g_free(reader->name);
 -    }
 +    g_free(reader->name);
      if (reader->reader_private_free) {
          reader->reader_private_free(reader->reader_private);
      }
@@@ -343,6 -344,8 +342,6 @@@ vreader_list_delete(VReaderList *list
          next_entry = vreader_list_get_next(current_entry);
          vreader_list_entry_delete(current_entry);
      }
 -    list->head = NULL;
 -    list->tail = NULL;
      g_free(list);
  }
  
@@@ -402,25 -405,24 +401,24 @@@ vreader_dequeue(VReaderList *list, VRea
  }
  
  static VReaderList *vreader_list;
- static QemuMutex vreader_list_mutex;
+ static CompatGMutex vreader_list_mutex;
  
  static void
  vreader_list_init(void)
  {
      vreader_list = vreader_list_new();
-     qemu_mutex_init(&vreader_list_mutex);
  }
  
  static void
  vreader_list_lock(void)
  {
-     qemu_mutex_lock(&vreader_list_mutex);
+     g_mutex_lock(&vreader_list_mutex);
  }
  
  static void
  vreader_list_unlock(void)
  {
-     qemu_mutex_unlock(&vreader_list_mutex);
+     g_mutex_unlock(&vreader_list_mutex);
  }
  
  static VReaderList *