2012-12-26 48 views
0

比方說,在G-WAN服務器線程中,我們查找了KV Store中的一個項目,並獲得了一個指向「記錄」結構的有效指針。 (千伏商店連接到G-WAN的持久指針。)在G-WAN的無鎖KV存儲中,在調用kv_del()之後節點的內存何時釋放?

record = (record_t*)kv_get(&records, "akey", sizeof("akey") - 1); 

我假設,我們可以安全地讀取記錄結構,即使是在另一臺服務器線程感謝鎖標記爲刪除內容免費設計。

我的問題是何時發生實際刪除?我們保證有權訪問「記錄」,直到請求最終返回爲止。

回答

0

一個標記爲刪除的KV記錄是有效的,直到全部HTTP requests取回它終止。

在你的情況,這意味着你MUST附加這個VK記錄的副本只有當這個數據是用來超越的HTTP請求的生活,利用上述KV你的執着指針記錄。

如果您確定您的持久性指針在HTTP請求完成後沒有保留引用,那麼您不需要製作所使用的KV記錄的副本。

+0

謝謝吉爾。這使得它很清楚。 –