You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/10/27 22:37:00 UTC
[35/50] [abbrv] git commit: TS-2139 fix the bug of purge twice to
remove the doc if enable-interim-cache
TS-2139 fix the bug of purge twice to remove the doc if enable-interim-cache
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/a3d12087
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/a3d12087
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/a3d12087
Branch: refs/heads/5.0.x
Commit: a3d1208777c7a232250df65d4409aae1aa58afca
Parents: a2809d1
Author: weijin <ta...@taobao.com>
Authored: Wed Oct 23 11:00:30 2013 +0800
Committer: weijin <ta...@taobao.com>
Committed: Wed Oct 23 11:06:31 2013 +0800
----------------------------------------------------------------------
CHANGES | 2 ++
iocore/cache/Cache.cc | 7 +++++++
2 files changed, 9 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a3d12087/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index a626df1..77a834f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 4.1.0
+ *) [TS-2139] Fix PURGE twice to remove object in cache if enable-interim-cache
+
*) [TS-2216] Fix cquuh log tag, which does not calculate the right
string length.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a3d12087/iocore/cache/Cache.cc
----------------------------------------------------------------------
diff --git a/iocore/cache/Cache.cc b/iocore/cache/Cache.cc
index 9256ea5..e417ab8 100644
--- a/iocore/cache/Cache.cc
+++ b/iocore/cache/Cache.cc
@@ -2720,6 +2720,13 @@ CacheVC::removeEvent(int /* event ATS_UNUSED */, Event * /* e ATS_UNUSED */)
Lcollision:
// check for collision
if (dir_probe(&key, vol, &dir, &last_collision) > 0) {
+#if TS_USE_INTERIM_CACHE == 1
+ if (dir_ininterim(&dir)) {
+ dir_delete(&key, vol, &dir);
+ last_collision = NULL;
+ goto Lcollision;
+ }
+#endif
int ret = do_read_call(&key);
if (ret == EVENT_RETURN)
goto Lread;