Changeset 1395


Ignore:
Timestamp:
2013-09-25T04:58:06+02:00 (10 months ago)
Author:
moo
Message:

merge r1381,r1388,r1394 from trunk: fixed #324: xcache.readonly_protection = Off cause SEGV under mass concurrent

Location:
branches/3.0
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/3.0

  • branches/3.0/ChangeLog

    r1369 r1395  
    33======== 
    44 * cacher 
     5   * fixed #324: xcache.readonly_protection = Off cause SEGV under mass concurrent 
    56   * fixed #323: refix locking impl for threaded env 
    67 
  • branches/3.0/NEWS

    r1369 r1395  
    113.0.4 2013-09-?? 
    22======== 
     3 * improve stability under massive concurrent 
    34 * refix locking impl for threaded env 
    45 
  • branches/3.0/processor/processor.m4

    r1357 r1395  
    722722        /* really fast shallow copy */ 
    723723        memcpy(dst, src, sizeof(src[0])); 
    724         dst->refcount[0] = 1000; 
     724        DST(`refcount') = &XG(op_array_dummy_refcount_holder); 
     725        XG(op_array_dummy_refcount_holder) = ((zend_uint) -1) / 2; 
    725726#ifdef ZEND_ACC_ALIAS 
    726727        if ((processor->active_class_entry_src && (processor->active_class_entry_src->ce_flags & ZEND_ACC_TRAIT))) { 
     
    862863 
    863864    STRUCT_P(zend_uint, refcount) 
    864     UNFIXPOINTER(zend_uint, refcount) 
    865     IFSTORE(`dst->refcount[0] = 1;') 
     865    IFSTORE(` 
     866        UNFIXPOINTER(zend_uint, refcount) 
     867        DST(`refcount[0]') = 1; 
     868        FIXPOINTER(zend_uint, refcount) 
     869    ') 
    866870 
    867871#ifdef ZEND_ENGINE_2_4 
  • branches/3.0/xcache_globals.h

    r1196 r1395  
    4141 
    4242    void *sandbox; 
     43    zend_uint op_array_dummy_refcount_holder; 
    4344ZEND_END_MODULE_GLOBALS(xcache) 
    4445 
Note: See TracChangeset for help on using the changeset viewer.