aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/processing/jobs
Commit message (Collapse)AuthorAgeFilesLines
* Moved data structures to new collections subfolderTobias Brunner2012-10-241-1/+1
|
* Make rescheduling a job more predictableTobias Brunner2012-06-251-18/+50
| | | | | | | | | | | | | This avoids race conditions between calls to cancel() and jobs that like to be rescheduled. If jobs were able to reschedule themselves it would theoretically be possible that two worker threads have the same job assigned (the one currently executing the job and the one executing the same but rescheduled job if it already is time to execute it), this means that cancel() could be called twice for that job. Creating a new job based on the current one and reschedule that is also OK, but rescheduling itself is more efficient for jobs that need to be executed often.
* Centralized thread cancellation in processor_tTobias Brunner2012-06-253-176/+56
| | | | | | | | | | This ensures that no threads are active when plugins and the rest of the daemon are unloaded. callback_job_t was simplified a lot in the process as its main functionality is now contained in processor_t. The parent-child relationships were abandoned as these were only needed to simplify job cancellation.
* Give processor_t more control over the lifecycle of a jobTobias Brunner2012-06-253-54/+62
| | | | | | | | | | | Jobs are now destroyed by the processor, but they are allowed to reschedule themselves. That is, parts of the reschedule functionality already provided by callback_job_t is moved to the processor. Not yet fully supported is JOB_REQUEUE_DIRECT and canceling jobs. Note: job_t.destroy() is now called not only for queued jobs but also after execution or cancellation of jobs. job_t.status can be used to decide what to do in said method.
* Use wrapped semaphore in callback_job_t.Tobias Brunner2012-05-021-12/+9
|
* Fixed common misspellings.Tobias Brunner2011-07-201-1/+1
| | | | Mostly found by 'codespell'.
* Introduce a highest priority job for critical thread servicesMartin Willi2011-05-162-2/+5
|
* Added a callback_job constructor supporting custom prioritiesMartin Willi2011-05-162-4/+36
|
* Added job priority enum namesMartin Willi2011-05-162-0/+27
|
* Introduce priority classes for jobsMartin Willi2011-05-162-2/+30
|
* Migrated callback_job to INIT/METHOD macrosMartin Willi2011-05-052-38/+38
|
* Refer to scheduler and processor via lib and not hydra.Tobias Brunner2010-09-021-3/+2
|
* Moved scheduler and thread pool to libstrongswan.Tobias Brunner2010-09-023-0/+442