diff options
Diffstat (limited to 'src/mobile_image_mounter.c')
| -rw-r--r-- | src/mobile_image_mounter.c | 16 |
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 | */ |
| 36 | static void mobile_image_mounter_lock(mobile_image_mounter_client_t client) | 36 | static 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 | */ |
| 46 | static void mobile_image_mounter_unlock(mobile_image_mounter_client_t client) | 50 | static 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; |
