FYI, non-locked cache value being modified
[email protected] (Brian Shire) Mon, 23 Oct 2006 12:59:58 -0700
| Newsgroups | php.apc.dev |
|---|---|
| Message-ID | <[email protected]> |
btw, I noticed that the opline->op2.u.constant value being modified
below may be in the shared memory segment even though it's not
currently locked in this section of code, as some values are not
copied out. Is this code something that's going to be used, should
we attempt a fix or add a comment?
apc_zend.c:
195 /* Cheat our way through the file inclusion by
temporarily changing the op to a plain require/include
196 * Then calling into the original opcode handler, and
finally restoring the opline's original meaning
197 */
198 Z_LVAL(opline->op2.u.constant) = (Z_LVAL(opline-
>op2.u.constant) == ZEND_INCLUDE_ONCE) ? ZEND_INCLUDE : ZEND_REQUIRE;
199 ret = apc_original_opcode_handlers
[APC_OPCODE_HANDLER_DECODE(opline)](ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
200 Z_LVAL(opline->op2.u.constant) = (Z_LVAL(opline-
>op2.u.constant) == ZEND_INCLUDE) ? ZEND_INCLUDE_ONCE :
ZEND_REQUIRE_ ONCE;
-shire