<div dir="ltr"><div><span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">assigned to null -> yes because you don't care about it, </span><span style="font-size:12.8px">HSH_Derefobjcore will be called from the mailbox in the next while iteration of exp_thread</span></div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br></div>Guillaume Quintard<br></div></div></div>
<br><div class="gmail_quote">On Wed, Jul 25, 2018 at 7:01 PM, Prem Kumar <span dir="ltr"><<a href="mailto:n.premkumar.me@gmail.com" target="_blank">n.premkumar.me@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">Thanks.</div></div><div dir="auto">But it is assigned to null and not being deleted from heap. moreover HSH_Derefobjcore will not be called and not be freed ultimately.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Thank</div><div class="HOEnZb"><div class="h5"><div><br><div class="gmail_quote"><div dir="ltr">On Thu, 26 Jul 2018 at 2:56 AM, Guillaume Quintard <<a href="mailto:guillaume@varnish-software.com" target="_blank">guillaume@varnish-software.<wbr>com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>There are people better suited to answer this, but hopefully, they'll yell if I'm saying anything stupid.</div><div><br></div><div>After a cursory glance at the code, I'd say that objcores can be expired either from the inbox or from the binheap and that if you find a "posted" oc on the binheap, it's the inbox turf, so we null the oc to not handle it in the rest of the function.</div></div><div class="gmail_extra"><br clear="all"><div><div class="m_-3882736434748355601m_-9043193585543659341gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br></div>Guillaume Quintard<br></div></div></div>
<br><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 25, 2018 at 9:49 AM, Prem Kumar <span dir="ltr"><<a href="mailto:n.premkumar.me@gmail.com" target="_blank">n.premkumar.me@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>exp_expire(struct exp_priv *ep, double now)</div><div>{</div><div>..</div><div> if (oc->timer_when > now)</div><div> return (oc->timer_when);</div><div><br></div><div> </div><div> </div><div><br></div><div> if (oc->exp_flags & OC_EF_POSTED) {</div><div> oc->exp_flags |= OC_EF_REMOVE;</div><div> oc = NULL;</div><div> } else {</div><div><br></div><div><br></div><div>why do we need to set to oc to NULL after marking it as NULL. How does the object will be removed from hash and free'd from respective storage backend.</div><div><br></div><div><br></div><div>Thanks,</div><div>Prem</div></div>
<br></blockquote></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">______________________________<wbr>_________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org" target="_blank">varnish-misc@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" rel="noreferrer" target="_blank">https://www.varnish-cache.org/<wbr>lists/mailman/listinfo/<wbr>varnish-misc</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div>
</div></div></blockquote></div><br></div>