Centralized thread cancellation in processor_t
authorTobias Brunner <tobias@strongswan.org>
Tue, 19 Jun 2012 11:29:09 +0000 (13:29 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 25 Jun 2012 15:38:59 +0000 (17:38 +0200)
commit26d77eb3e61b2ff929dff96bbb53a5d22d76ce4f
tree5d5b7bd7bb2cd6a721c65b82f8ce2a8b3f4fdf22
parent7fec83af28f233a02b7ae08c6fd4de65799cb6b4
Centralized thread cancellation in processor_t

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.
31 files changed:
src/charon-nm/nm/nm_backend.c
src/libcharon/daemon.c
src/libcharon/network/receiver.c
src/libcharon/network/sender.c
src/libcharon/plugins/android/android_service.c
src/libcharon/plugins/dhcp/dhcp_socket.c
src/libcharon/plugins/duplicheck/duplicheck_notify.c
src/libcharon/plugins/eap_radius/eap_radius_dae.c
src/libcharon/plugins/farp/farp_spoofer.c
src/libcharon/plugins/ha/ha_ctl.c
src/libcharon/plugins/ha/ha_dispatcher.c
src/libcharon/plugins/ha/ha_segments.c
src/libcharon/plugins/maemo/maemo_service.c
src/libcharon/plugins/smp/smp.c
src/libcharon/plugins/stroke/stroke_socket.c
src/libcharon/plugins/tnc_pdp/tnc_pdp.c
src/libcharon/plugins/uci/uci_control.c
src/libcharon/plugins/whitelist/whitelist_control.c
src/libcharon/sa/ikev2/connect_manager.c
src/libhydra/plugins/kernel_klips/kernel_klips_ipsec.c
src/libhydra/plugins/kernel_netlink/kernel_netlink_ipsec.c
src/libhydra/plugins/kernel_netlink/kernel_netlink_net.c
src/libhydra/plugins/kernel_pfkey/kernel_pfkey_ipsec.c
src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
src/libstrongswan/plugins/pkcs11/pkcs11_manager.c
src/libstrongswan/processing/jobs/callback_job.c
src/libstrongswan/processing/jobs/callback_job.h
src/libstrongswan/processing/jobs/job.h
src/libstrongswan/processing/processor.c
src/libstrongswan/processing/processor.h
src/libstrongswan/processing/scheduler.c