[vlc-devel] [PATCH 1/2] adaptive: chunk: C++ify mutex usage
Steve Lhomme
robux4 at ycbcr.xyz
Thu Sep 17 10:41:29 CEST 2020
On 2020-09-17 8:44, Alexandre Janniaux wrote:
> Hi,
>
> On Thu, Sep 17, 2020 at 07:53:30AM +0200, Steve Lhomme wrote:
>> On 2020-09-16 1:04, Alexandre Janniaux wrote:
>>> void HTTPChunkBufferedSource::bufferize(size_t readsize)
>>> {
>>> - vlc_mutex_lock(&lock);
>>> - if(!prepare())
>>> {
>>
>> You might as well remove this block level since you change the whole block.
>
> What do you mean by changing the whole block?
>
> A mutex locker needs scope to define the boundaries of the
> lock, and the block here needs both early return and value
> return so was not easily movable to a function without a
> loss in readability/complexity.
Ah, I see. The way the diff is presenting the changes is confusing but
now I see the reason.
> Thus, there are many lines modified but most of them are
> just reindent at the new scope level whose existence is
> actually needed.
>
>>
>>> - done = true;
>>> - eof = true;
>>> - vlc_cond_signal(&avail);
>>> - vlc_mutex_unlock(&lock);
>>> - return;
>>> + mutex_locker locker {lock};
>>> + if(!prepare())
>>> + {
>>> + done = true;
>>> + eof = true;
>>> + avail.signal();
>>> + return;
>>> + }
>>> +
>>> + if(readsize < HTTPChunkSource::CHUNK_SIZE)
>>> + readsize = HTTPChunkSource::CHUNK_SIZE;
>>> +
>>> + if(contentLength && readsize > contentLength - buffered)
>>> + readsize = contentLength - buffered;
>>> }
>>> - if(readsize < HTTPChunkSource::CHUNK_SIZE)
>>> - readsize = HTTPChunkSource::CHUNK_SIZE;
>>> -
>>> - if(contentLength && readsize > contentLength - buffered)
>>> - readsize = contentLength - buffered;
>>> -
>>> - vlc_mutex_unlock(&lock);
>>> -
>>> block_t *p_block = block_Alloc(readsize);
>>> if(!p_block)
>>> {
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list