Sorry, I missed something in 5ea2004. The vector::shrink_to_fit
call at XrdTpcStream.hh
line 133 relies upon the vector size (which used to be always 0) being less than its capacity. (It seems it's only invoked when 'low buffer occupancy' is detected.) Now the (size, capacity) will only ever be either (0, 0) or (m_capacity
, >=m_capacity
), instead of (0, 0) or (0, m_capacity
), so shrink_to_fit
won't be able to fully de-allocate. I don't think it's a functional failure, but it could mean the allocation is retained for longer than expected.
By clearing the vector just after its contents are transmitted (and when m_size
and m_offset
are reset, marking the buffer as empty and available), shrink_to_fit
should become effective again.
https://github.com/xrootd/xrootd/pull/1639
(1 file)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1