Use CRITICAL job priority class for long running dispatcher jobs

This commit is contained in:
Martin Willi
2011-05-16 15:24:15 +02:00
parent 1c8f58adb9
commit 14bf2f689d
25 changed files with 54 additions and 50 deletions
+2 -2
View File
@@ -355,8 +355,8 @@ ha_cache_t *ha_cache_create(ha_kernel_t *kernel, ha_socket_t *socket,
{
/* request a resync as soon as we are up */
lib->scheduler->schedule_job(lib->scheduler, (job_t*)
callback_job_create((callback_job_cb_t)request_resync,
this, NULL, NULL), 1);
callback_job_create_with_prio((callback_job_cb_t)request_resync,
this, NULL, NULL, JOB_PRIO_CRITICAL), 1);
}
return &this->public;
}
+2 -2
View File
@@ -141,8 +141,8 @@ ha_ctl_t *ha_ctl_create(ha_segments_t *segments, ha_cache_t *cache)
strerror(errno));
}
this->job = callback_job_create((callback_job_cb_t)dispatch_fifo,
this, NULL, NULL);
this->job = callback_job_create_with_prio((callback_job_cb_t)dispatch_fifo,
this, NULL, NULL, JOB_PRIO_CRITICAL);
lib->processor->queue_job(lib->processor, (job_t*)this->job);
return &this->public;
}
+2 -2
View File
@@ -872,8 +872,8 @@ ha_dispatcher_t *ha_dispatcher_create(ha_socket_t *socket,
.kernel = kernel,
.attr = attr,
);
this->job = callback_job_create((callback_job_cb_t)dispatch,
this, NULL, NULL);
this->job = callback_job_create_with_prio((callback_job_cb_t)dispatch,
this, NULL, NULL, JOB_PRIO_CRITICAL);
lib->processor->queue_job(lib->processor, (job_t*)this->job);
return &this->public;
+2 -2
View File
@@ -280,8 +280,8 @@ static job_requeue_t watchdog(private_ha_segments_t *this)
*/
static void start_watchdog(private_ha_segments_t *this)
{
this->job = callback_job_create((callback_job_cb_t)watchdog,
this, NULL, NULL);
this->job = callback_job_create_with_prio((callback_job_cb_t)watchdog,
this, NULL, NULL, JOB_PRIO_CRITICAL);
lib->processor->queue_job(lib->processor, (job_t*)this->job);
}
+2 -2
View File
@@ -105,8 +105,8 @@ METHOD(ha_socket_t, push, void,
.fd = this->fd,
);
job = callback_job_create((callback_job_cb_t)send_message,
data, (void*)job_data_destroy, NULL);
job = callback_job_create_with_prio((callback_job_cb_t)send_message,
data, (void*)job_data_destroy, NULL, JOB_PRIO_HIGH);
lib->processor->queue_job(lib->processor, (job_t*)job);
return;
}