aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/curl/Makefile.am
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2010-02-25 08:56:05 +0100
committerTobias Brunner <tobias@strongswan.org>2010-02-25 09:26:16 +0100
commit608af0a44564606dc3d10c59e110e9b3a7e08e97 (patch)
treef5fe2587bb3a4806ad65edf14e3a321a687b14c4 /src/libstrongswan/plugins/curl/Makefile.am
parent3e35a6e7a1b01f53f75c6020184845c3129db1ac (diff)
downloadstrongswan-608af0a44564606dc3d10c59e110e9b3a7e08e97.tar.bz2
strongswan-608af0a44564606dc3d10c59e110e9b3a7e08e97.tar.xz
Avoid a race condition that could lead to a segmentation fault.
Let's assume the callback function of a callback job returns JOB_REQUEUE_FAIR in one call and JOB_REQUEUE_NONE in the next. Before this fix, the thread executing the callback job would requeue the job before unregistering itself. If there was a context switch right after the job got requeued, and if the thread that requeued the job never got resumed until a second thread executed the job and, due to the return value of JOB_REQUEUE_NONE, destroyed it, then when the first thread eventually got resumed and tried to lock the mutex to unregister itself the pointer wouldn't be valid anymore, thus resulting in a segmentation fault.
Diffstat (limited to 'src/libstrongswan/plugins/curl/Makefile.am')
0 files changed, 0 insertions, 0 deletions