Changeset 900
- Timestamp:
- 05/10/2012 03:25:45 PM (12 months ago)
- Files:
-
- 1 modified
-
trunk/xcache.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/xcache.c
r894 r900 840 840 entry_php = (xc_entry_php_t *) xc_stack_pop(s); 841 841 TRACE("unhold %d:%s", entry_php->file_inode, entry_php->entry.name.str.val); 842 entry_php->refcount ++;842 --entry_php->refcount; 843 843 assert(entry_php->refcount >= 0); 844 844 } … … 1940 1940 if (stored_php) { 1941 1941 compiler->new_entry.php = stored_php; 1942 xc_php_addref_unlocked(stored_php);1943 1942 xc_entry_php_init(&compiler->new_entry, compiler->opened_path TSRMLS_CC); 1944 1943 stored_entry = xc_entry_php_store_unlocked(cache, compiler->entry_hash.entryslotid, &compiler->new_entry TSRMLS_CC); 1945 TRACE(" cached %d:%s, holding", compiler->new_entry.file_inode, stored_entry->entry.name.str.val); 1946 xc_entry_hold_php_unlocked(cache, stored_entry TSRMLS_CC); 1944 if (stored_entry) { 1945 xc_php_addref_unlocked(stored_php); 1946 TRACE(" cached %d:%s, holding", compiler->new_entry.file_inode, stored_entry->entry.name.str.val); 1947 xc_entry_hold_php_unlocked(cache, stored_entry TSRMLS_CC); 1948 } 1949 else { 1950 gaveup = 1; 1951 } 1947 1952 break; 1948 1953 } … … 2022 2027 /* entry_store */ 2023 2028 compiler->new_entry.php = stored_php; 2024 xc_php_addref_unlocked(stored_php);2025 2029 stored_entry = xc_entry_php_store_unlocked(cache, compiler->entry_hash.entryslotid, &compiler->new_entry TSRMLS_CC); 2026 if (!stored_entry) { 2027 xc_php_release_unlocked(cache, stored_php); 2030 if (stored_entry) { 2031 xc_php_addref_unlocked(stored_php); 2032 TRACE(" cached %d:%s, holding", compiler->new_entry.file_inode, stored_entry->entry.name.str.val); 2033 xc_entry_hold_php_unlocked(cache, stored_entry TSRMLS_CC); 2028 2034 } 2029 2035 } LEAVE_LOCK_EX(cache);

