tree a29aecedbed62f0279ed4fea93ce0281d81f33e7
parent c560ae31b3b9e29b5c3e854d9aae1a77d45fe7bf
author Wan-Teh Chang <wtc@google.com> 1673310615 -0800
committer Wan-Teh Chang <wtc@google.com> 1673372053 +0000

Do not return a partially-initialized BufferPool

Do not return a partially-initialized BufferPool struct, because we
cannot tell if the pool_mutex member of the struct has been initialized
by a pthread_mutex_init() call. Although the pool_mutex member is
zero-initialized by aom_calloc(), it may not be considered as
initialized by the pthread library, so if pthread_mutex_init() is not
called to initialize pool_mutex, the pthread_mutex_destroy() call on
pool_mutex may fail.

An alternative solution is to add a `bool pool_mutex_initialized` member
to the BufferPool struct.

Change-Id: I41d26a992956c84562196ac12585f6591b372f37
