BUG/MINOR: cache: Disable cache if applet creation fails

When we want to serve a resource from the cache, if the applet creation
fails, the "cache-use" action must not yield. Otherwise, the stream will
hang. Instead, we now disable the cache. Thus the request may be served by
the server.

This patch must be backported as far as 1.8.

(cherry picked from commit 1d216c7ec1815c510bd3c6a1152cf41f748f93e0)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 75fca43e872ee7ffc038979c4472d4e9f372ea90)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/cache.c b/src/cache.c
index 41ad5bb..ad4e715 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -1829,10 +1829,11 @@
 				_HA_ATOMIC_INC(&px->be_counters.p.http.cache_hits);
 			return ACT_RET_CONT;
 		} else {
+			s->target = NULL;
 			shctx_lock(shctx_ptr(cache));
 			shctx_row_dec_hot(shctx_ptr(cache), entry_block);
 			shctx_unlock(shctx_ptr(cache));
-			return ACT_RET_YIELD;
+			return ACT_RET_CONT;
 		}
 	}
 	shctx_unlock(shctx_ptr(cache));