check g_free_queue.head == NULL before free_queue_realloc()
parent
45e57c2bb0
commit
fb0162d769
3
HISTORY
3
HISTORY
|
|
@ -1,10 +1,11 @@
|
|||
|
||||
Version 1.28 2016-06-06
|
||||
Version 1.28 2016-06-08
|
||||
* id generator support extra bits
|
||||
* change inet_aton to inet_pton
|
||||
* connect by ip and connection pool support ipv6
|
||||
* id generator in php extension support multi instance
|
||||
* add function http_parse_url_params
|
||||
* check g_free_queue.head == NULL before free_queue_realloc()
|
||||
|
||||
Version 1.27 2016-04-15
|
||||
* add function fd_set_cloexec
|
||||
|
|
|
|||
|
|
@ -410,6 +410,8 @@ static int free_queue_realloc()
|
|||
struct fast_task_info *free_queue_pop()
|
||||
{
|
||||
struct fast_task_info *pTask;
|
||||
int i;
|
||||
|
||||
if ((pTask=task_queue_pop(&g_free_queue)) != NULL)
|
||||
{
|
||||
return pTask;
|
||||
|
|
@ -420,6 +422,8 @@ struct fast_task_info *free_queue_pop()
|
|||
return NULL;
|
||||
}
|
||||
|
||||
for (i=0; i<10; i++)
|
||||
{
|
||||
pthread_mutex_lock(&g_free_queue.lock);
|
||||
if (g_free_queue.alloc_connections >= g_free_queue.max_connections)
|
||||
{
|
||||
|
|
@ -431,7 +435,7 @@ struct fast_task_info *free_queue_pop()
|
|||
}
|
||||
else
|
||||
{
|
||||
if (free_queue_realloc() != 0)
|
||||
if (g_free_queue.head == NULL && free_queue_realloc() != 0)
|
||||
{
|
||||
pthread_mutex_unlock(&g_free_queue.lock);
|
||||
return NULL;
|
||||
|
|
@ -439,7 +443,13 @@ struct fast_task_info *free_queue_pop()
|
|||
}
|
||||
pthread_mutex_unlock(&g_free_queue.lock);
|
||||
|
||||
return task_queue_pop(&g_free_queue);
|
||||
if ((pTask=task_queue_pop(&g_free_queue)) != NULL)
|
||||
{
|
||||
return pTask;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int _realloc_buffer(struct fast_task_info *pTask, const int new_size,
|
||||
|
|
|
|||
Loading…
Reference in New Issue