summaryrefslogtreecommitdiffstats
path: root/src/mobile_image_mounter.c
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2011-09-10 19:08:39 +0200
committerGravatar Martin Szulecki2012-03-19 01:38:54 +0100
commit475c9679716eec92e3508063b7486e3508c4c974 (patch)
tree5ab09c85387821e05b052cbb642b92ae102953ec /src/mobile_image_mounter.c
parent6f29ab73053327066409744d025dcbd03fd6b627 (diff)
downloadlibimobiledevice-475c9679716eec92e3508063b7486e3508c4c974.tar.gz
libimobiledevice-475c9679716eec92e3508063b7486e3508c4c974.tar.bz2
WIN32: use windows threads and mutexes instead of pthread_*
Diffstat (limited to 'src/mobile_image_mounter.c')
-rw-r--r--src/mobile_image_mounter.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mobile_image_mounter.c b/src/mobile_image_mounter.c
index 18caf73..557fbda 100644
--- a/src/mobile_image_mounter.c
+++ b/src/mobile_image_mounter.c
@@ -35,7 +35,11 @@
35 */ 35 */
36static void mobile_image_mounter_lock(mobile_image_mounter_client_t client) 36static void mobile_image_mounter_lock(mobile_image_mounter_client_t client)
37{ 37{
38#ifdef WIN32
39 EnterCriticalSection(&client->mutex);
40#else
38 pthread_mutex_lock(&client->mutex); 41 pthread_mutex_lock(&client->mutex);
42#endif
39} 43}
40 44
41/** 45/**
@@ -45,7 +49,11 @@ static void mobile_image_mounter_lock(mobile_image_mounter_client_t client)
45 */ 49 */
46static void mobile_image_mounter_unlock(mobile_image_mounter_client_t client) 50static void mobile_image_mounter_unlock(mobile_image_mounter_client_t client)
47{ 51{
52#ifdef WIN32
53 LeaveCriticalSection(&client->mutex);
54#else
48 pthread_mutex_unlock(&client->mutex); 55 pthread_mutex_unlock(&client->mutex);
56#endif
49} 57}
50 58
51/** 59/**
@@ -101,7 +109,11 @@ mobile_image_mounter_error_t mobile_image_mounter_new(idevice_t device, uint16_t
101 mobile_image_mounter_client_t client_loc = (mobile_image_mounter_client_t) malloc(sizeof(struct mobile_image_mounter_client_private)); 109 mobile_image_mounter_client_t client_loc = (mobile_image_mounter_client_t) malloc(sizeof(struct mobile_image_mounter_client_private));
102 client_loc->parent = plistclient; 110 client_loc->parent = plistclient;
103 111
112#ifdef WIN32
113 InitializeCriticalSection(&client_loc->mutex);
114#else
104 pthread_mutex_init(&client_loc->mutex, NULL); 115 pthread_mutex_init(&client_loc->mutex, NULL);
116#endif
105 117
106 *client = client_loc; 118 *client = client_loc;
107 return MOBILE_IMAGE_MOUNTER_E_SUCCESS; 119 return MOBILE_IMAGE_MOUNTER_E_SUCCESS;
@@ -123,7 +135,11 @@ mobile_image_mounter_error_t mobile_image_mounter_free(mobile_image_mounter_clie
123 135
124 property_list_service_client_free(client->parent); 136 property_list_service_client_free(client->parent);
125 client->parent = NULL; 137 client->parent = NULL;
138#ifdef WIN32
139 DeleteCriticalSection(&client->mutex);
140#else
126 pthread_mutex_destroy(&client->mutex); 141 pthread_mutex_destroy(&client->mutex);
142#endif
127 free(client); 143 free(client);
128 144
129 return MOBILE_IMAGE_MOUNTER_E_SUCCESS; 145 return MOBILE_IMAGE_MOUNTER_E_SUCCESS;