summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-07-07 15:17:59 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-07-07 15:17:59 (GMT)
commit80aa565fb4a4be45ea7b94487bd10f1ab0ff5410 (patch)
tree057d5543ba9811184797993a17eb38d09a4926d8 /Python
parentb7f1f65f1c1c0b80e613f5fbf3a4ed3e3e2c72f9 (diff)
downloadcpython-80aa565fb4a4be45ea7b94487bd10f1ab0ff5410.zip
cpython-80aa565fb4a4be45ea7b94487bd10f1ab0ff5410.tar.gz
cpython-80aa565fb4a4be45ea7b94487bd10f1ab0ff5410.tar.bz2
Issue #18203: Replace malloc() with PyMem_RawMalloc() to allocate thread locks
Diffstat (limited to 'Python')
-rw-r--r--Python/thread_nt.h8
-rw-r--r--Python/thread_pthread.h12
2 files changed, 10 insertions, 10 deletions
diff --git a/Python/thread_nt.h b/Python/thread_nt.h
index bd604fb..ab5a081 100644
--- a/Python/thread_nt.h
+++ b/Python/thread_nt.h
@@ -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 */
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index e90ae7e..20f8535 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -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