]> granicus.if.org Git - python/commitdiff
Issue #18203: Replace malloc() with PyMem_RawMalloc() to allocate thread locks
authorVictor Stinner <victor.stinner@gmail.com>
Sun, 7 Jul 2013 15:17:59 +0000 (17:17 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Sun, 7 Jul 2013 15:17:59 +0000 (17:17 +0200)
Python/thread_nt.h
Python/thread_pthread.h

index bd604fbdd3945e99f9e7317b54ada83c43953044..ab5a08168f7dc6413cf1928764bcd7d758762ce1 100644 (file)
@@ -34,7 +34,7 @@ typedef NRMUTEX *PNRMUTEX;
 PNRMUTEX
 AllocNonRecursiveMutex()
 {
-    PNRMUTEX m = (PNRMUTEX)malloc(sizeof(NRMUTEX));
+    PNRMUTEX m = (PNRMUTEX)PyMem_RawMalloc(sizeof(NRMUTEX));
     if (!m)
         return NULL;
     if (PyCOND_INIT(&m->cv))
@@ -46,7 +46,7 @@ AllocNonRecursiveMutex()
     m->locked = 0;
     return m;
 fail:
-    free(m);
+    PyMem_RawFree(m);
     return NULL;
 }
 
@@ -56,7 +56,7 @@ FreeNonRecursiveMutex(PNRMUTEX mutex)
     if (mutex) {
         PyCOND_FINI(&mutex->cv);
         PyMUTEX_FINI(&mutex->cs);
-        free(mutex);
+        PyMem_RawFree(mutex);
     }
 }
 
@@ -107,7 +107,7 @@ LeaveNonRecursiveMutex(PNRMUTEX mutex)
     result = PyCOND_SIGNAL(&mutex->cv);
     result &= PyMUTEX_UNLOCK(&mutex->cs);
     return result;
-}    
+}
 
 #else /* if ! _PY_USE_CV_LOCKS */
 
index e90ae7e5b97816170265394381dc825a8068e488..20f85358968b45b5972a90f0e8b347cad495714c 100644 (file)
@@ -282,14 +282,14 @@ PyThread_allocate_lock(void)
     if (!initialized)
         PyThread_init_thread();
 
-    lock = (sem_t *)malloc(sizeof(sem_t));
+    lock = (sem_t *)PyMem_RawMalloc(sizeof(sem_t));
 
     if (lock) {
         status = sem_init(lock,0,1);
         CHECK_STATUS("sem_init");
 
         if (error) {
-            free((void *)lock);
+            PyMem_RawFree((void *)lock);
             lock = NULL;
         }
     }
@@ -313,7 +313,7 @@ PyThread_free_lock(PyThread_type_lock lock)
     status = sem_destroy(thelock);
     CHECK_STATUS("sem_destroy");
 
-    free((void *)thelock);
+    PyMem_RawFree((void *)thelock);
 }
 
 /*
@@ -410,7 +410,7 @@ PyThread_allocate_lock(void)
     if (!initialized)
         PyThread_init_thread();
 
-    lock = (pthread_lock *) malloc(sizeof(pthread_lock));
+    lock = (pthread_lock *) PyMem_RawMalloc(sizeof(pthread_lock));
     if (lock) {
         memset((void *)lock, '\0', sizeof(pthread_lock));
         lock->locked = 0;
@@ -430,7 +430,7 @@ PyThread_allocate_lock(void)
         CHECK_STATUS("pthread_cond_init");
 
         if (error) {
-            free((void *)lock);
+            PyMem_RawFree((void *)lock);
             lock = 0;
         }
     }
@@ -457,7 +457,7 @@ PyThread_free_lock(PyThread_type_lock lock)
     status = pthread_mutex_destroy( &thelock->mut );
     CHECK_STATUS("pthread_mutex_destroy");
 
-    free((void *)thelock);
+    PyMem_RawFree((void *)thelock);
 }
 
 PyLockStatus