author | Nobutomo Nakano <nobutomo.nakano@oracle.com> |
Mon, 08 Oct 2012 19:44:45 -0700 | |
branch | s11u1-sru |
changeset 2370 | c539542fe61d |
parent 461 | edabdd6aff23 |
permissions | -rw-r--r-- |
461
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
1 |
--- APC-3.0.19/apc_main.c.ORIG Fri Feb 13 17:16:08 2009 |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
2 |
+++ APC-3.0.19/apc_main.c Fri Feb 13 17:16:18 2009 |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
3 |
@@ -378,21 +378,12 @@ |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
4 |
if (op_array == NULL) { |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
5 |
return NULL; |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
6 |
} |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
7 |
- /* |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
8 |
- * Basically this will cause a file only to be cached on a percentage |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
9 |
- * of the attempts. This is to avoid cache slams when starting up a |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
10 |
- * very busy server or when modifying files on a very busy live server. |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
11 |
- * There is no point having many processes all trying to cache the same |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
12 |
- * file at the same time. By introducing a chance of being cached |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
13 |
- * we theoretically cut the cache slam problem by the given percentage. |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
14 |
- * For example if apc.slam_defense is set to 66 then 2/3 of the attempts |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
15 |
- * to cache an uncached file will be ignored. |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
16 |
- */ |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
17 |
- if(APCG(slam_defense)) { |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
18 |
- if(APCG(slam_rand)==-1) { |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
19 |
- APCG(slam_rand) = (int)(100.0*rand()/(RAND_MAX+1.0)); |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
20 |
- } |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
21 |
- if(APCG(slam_rand) < APCG(slam_defense)) { |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
22 |
+ |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
23 |
+ /* check our regular expression filters */ |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
24 |
+ if (APCG(filters) && apc_compiled_filters && h->opened_path) { |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
25 |
+ int ret = apc_regex_match_array(apc_compiled_filters, h->opened_path); |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
26 |
+ if(ret == APC_NEGATIVE_MATCH || (ret != APC_POSITIVE_MATCH && !APCG(cache_by_default))) { |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
27 |
+ /* never cache, never find */ |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
28 |
return op_array; |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
29 |
} |
edabdd6aff23
7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff
changeset
|
30 |
} |