mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-26 12:37:26 +00:00
FS-10167: Temporary commit to test some weirdness with pool freeing and memory mapping
This commit is contained in:
parent
130dba8915
commit
f0afe29c9c
@ -628,6 +628,10 @@ static int free_pointer(ks_pool_t *mp_p, void *addr, const unsigned long size)
|
|||||||
real_size = size;
|
real_size = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while ((real_size & (sizeof(void *) - 1)) > 0) {
|
||||||
|
real_size++;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We use a specific free bits calculation here because if we are
|
* We use a specific free bits calculation here because if we are
|
||||||
* freeing 10 bytes then we will be putting it into the 8-byte free
|
* freeing 10 bytes then we will be putting it into the 8-byte free
|
||||||
@ -1044,7 +1048,7 @@ static int free_mem(ks_pool_t *mp_p, void *addr)
|
|||||||
fence = FENCE_SIZE;
|
fence = FENCE_SIZE;
|
||||||
|
|
||||||
/* now we free the pointer */
|
/* now we free the pointer */
|
||||||
ret = free_pointer(mp_p, addr, old_size + fence);
|
ret = free_pointer(mp_p, addr, old_size + fence + PREFIX_SIZE);
|
||||||
if (ret != KS_STATUS_SUCCESS) {
|
if (ret != KS_STATUS_SUCCESS) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -93,9 +93,9 @@ static void ks_thread_cleanup(ks_pool_t *mpool, void *ptr, void *arg, int type,
|
|||||||
break;
|
break;
|
||||||
case KS_MPCL_DESTROY:
|
case KS_MPCL_DESTROY:
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
if (!(thread->flags & KS_THREAD_FLAG_DETATCHED)) {
|
//if (!(thread->flags & KS_THREAD_FLAG_DETATCHED)) {
|
||||||
CloseHandle(thread->handle);
|
CloseHandle(thread->handle);
|
||||||
}
|
//}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -170,7 +170,7 @@ KS_DECLARE(int) ks_thread_set_priority(int nice_val)
|
|||||||
KS_DECLARE(uint8_t) ks_thread_priority(ks_thread_t *thread) {
|
KS_DECLARE(uint8_t) ks_thread_priority(ks_thread_t *thread) {
|
||||||
uint8_t priority = 0;
|
uint8_t priority = 0;
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
DWORD pri = GetThreadPriority(thread->handle);
|
int pri = GetThreadPriority(thread->handle);
|
||||||
|
|
||||||
if (pri >= THREAD_PRIORITY_TIME_CRITICAL) {
|
if (pri >= THREAD_PRIORITY_TIME_CRITICAL) {
|
||||||
priority = 99;
|
priority = 99;
|
||||||
@ -241,7 +241,7 @@ KS_DECLARE(ks_status_t) ks_thread_create_ex(ks_thread_t **rthread, ks_thread_fun
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (flags & KS_THREAD_FLAG_DETATCHED) {
|
if (flags & KS_THREAD_FLAG_DETATCHED) {
|
||||||
CloseHandle(thread->handle);
|
//CloseHandle(thread->handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
status = KS_STATUS_SUCCESS;
|
status = KS_STATUS_SUCCESS;
|
||||||
|
@ -321,12 +321,14 @@ static void test_non_recursive_mutex(void)
|
|||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
ks_init();
|
ks_init();
|
||||||
cpu_count = ks_cpu_count() * 4;
|
//cpu_count = ks_cpu_count() * 4;
|
||||||
|
//cpu_count = ks_cpu_count();
|
||||||
|
cpu_count = 1;
|
||||||
|
|
||||||
plan(21 + cpu_count * 6);
|
plan(21 + cpu_count * 6);
|
||||||
|
|
||||||
|
|
||||||
diag("Starting testing for %d tests\n", 44);
|
diag("Starting testing for %d tests\n", 21 + cpu_count * 6);
|
||||||
|
|
||||||
create_pool();
|
create_pool();
|
||||||
create_mutex();
|
create_mutex();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user