TS-2432 fix a race in aio_err_callbck that may lead hash_table can not rebuild.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/5b73f528 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/5b73f528 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/5b73f528 Branch: refs/heads/master Commit: 5b73f528d4e5abb6a4ba064a65b618bc760a82e7 Parents: 3388fd8 Author: weijin <[email protected]> Authored: Mon Dec 16 10:55:43 2013 +0800 Committer: weijin <[email protected]> Committed: Mon Dec 16 10:59:15 2013 +0800 ---------------------------------------------------------------------- CHANGES | 1 + iocore/aio/AIO.cc | 1 + 2 files changed, 2 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b73f528/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 8a92590..aeff166 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 4.2.0 + *) [TS-2432] Fix a race in aio_err_callblk. *) [TS-2251] Simplify LogBuffer reference counting. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b73f528/iocore/aio/AIO.cc ---------------------------------------------------------------------- diff --git a/iocore/aio/AIO.cc b/iocore/aio/AIO.cc index 99d3fa3..2e3e91f 100644 --- a/iocore/aio/AIO.cc +++ b/iocore/aio/AIO.cc @@ -516,6 +516,7 @@ aio_thread_main(void *arg) if (aio_err_callbck) { AIOCallback *callback_op = new AIOCallbackInternal(); callback_op->aiocb.aio_fildes = op->aiocb.aio_fildes; + callback_op->mutex = aio_err_callbck->mutex; callback_op->action = aio_err_callbck; eventProcessor.schedule_imm(callback_op); }
