summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authormonty@mashka.mysql.fi <>2003-10-15 16:55:24 +0300
committermonty@mashka.mysql.fi <>2003-10-15 16:55:24 +0300
commit4897c6649d927419d95ad9a315dc6316110be2d4 (patch)
tree7e45fed9e18c3d6d2d2ba0dff06ae4d79cf7b2d0 /mysys
parent35c09b8082bf4e48ec5f5ae32248ee86e0da16f2 (diff)
downloadmariadb-git-4897c6649d927419d95ad9a315dc6316110be2d4.tar.gz
Updated comments
Diffstat (limited to 'mysys')
-rw-r--r--mysys/queues.c26
-rw-r--r--mysys/thr_alarm.c8
2 files changed, 29 insertions, 5 deletions
diff --git a/mysys/queues.c b/mysys/queues.c
index ae69684f9e4..93d4c303f22 100644
--- a/mysys/queues.c
+++ b/mysys/queues.c
@@ -61,6 +61,24 @@ int reinit_queue(QUEUE *queue, uint max_elements, uint offset_to_key,
DBUG_RETURN(0);
}
+
+/*
+ Resize queue
+
+ SYNOPSIS
+ resize_queue()
+ queue Queue
+ max_elements New max size for queue
+
+ NOTES
+ If you resize queue to be less than the elements you have in it,
+ the extra elements will be deleted
+
+ RETURN
+ 0 ok
+ 1 Error. In this case the queue is unchanged
+*/
+
int resize_queue(QUEUE *queue, uint max_elements)
{
byte **new_root;
@@ -68,14 +86,16 @@ int resize_queue(QUEUE *queue, uint max_elements)
if (queue->max_elements == max_elements)
DBUG_RETURN(0);
if ((new_root= (byte **) my_realloc((void *)queue->root,
- (max_elements+1)*sizeof(void*), MYF(MY_WME))) == 0)
+ (max_elements+1)*sizeof(void*),
+ MYF(MY_WME))) == 0)
DBUG_RETURN(1);
set_if_smaller(queue->elements, max_elements);
- queue->max_elements=max_elements;
- queue->root=new_root;
+ queue->max_elements= max_elements;
+ queue->root= new_root;
DBUG_RETURN(0);
}
+
void delete_queue(QUEUE *queue)
{
DBUG_ENTER("delete_queue");
diff --git a/mysys/thr_alarm.c b/mysys/thr_alarm.c
index 5d2ac8b0099..36bbac16fef 100644
--- a/mysys/thr_alarm.c
+++ b/mysys/thr_alarm.c
@@ -120,16 +120,20 @@ void init_thr_alarm(uint max_alarms)
DBUG_VOID_RETURN;
}
+
void resize_thr_alarm(uint max_alarms)
{
pthread_mutex_lock(&LOCK_alarm);
- /* it's ok not to shrink the queue sometimes */
+ /*
+ It's ok not to shrink the queue as there may be more pending alarms than
+ than max_alarms
+ */
if (alarm_queue.elements < max_alarms)
resize_queue(&alarm_queue,max_alarms+1);
pthread_mutex_unlock(&LOCK_alarm);
- return;
}
+
/*
Request alarm after sec seconds.