hi all,these days i am studying the sourcecode of the memcached,now i have some 
questions about the memcached.in item_get function,this function calls the 
do_item_get_notedeleted function,the do_item_get_notedeleted function checks 
whethter the item is expired,if item has expired then calls the do_item_unlink 
function,the do_item_unlink set the item's flag ~ITEM_LINKED,and calls the 
assoc_delete to delete the item from the hash table,then calls the 
item_unlink_q function,the item_unlink_q function delete the item from the 
global variant heads and tails according to the item's slabs_clsid,when the 
item_unlink_q function returns,the do_item_unlink function then check the 
item's refcount,if the refcount is equal to zero then calls item_free function 
to release the item's memory to freelist or memory poll.so i have a question 
,if the refcount is larger than zero?what will happen? the item has been 
deleted from the hash table already,but not has returned its memory back.if the 
 refcount is larger than zero,i think it should be just dec the refcount ,but 
the source code is not.i am from china,wish your answern:)thank you
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

Reply via email to