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