Review Request: Improve SqlMeta thread safety

Rick W. Chen stuffcorpse at archlinux.us
Sat Oct 23 04:08:34 CEST 2010



> On 2010-10-22 17:22:28, Rick W. Chen wrote:
> > bt: http://pastebin.ca/1970163
> > 
> > I was setting a rating in the current track applet.
> 
> Ralf Engels wrote:
>     Ah, it seems to have still some problems.
>     But why with the rating???

Not sure. With diff r2 it's still crashing with the same bt.
I can set ratings in the playlist that's fine; but if I do it
in the current track applet the crash occurs. Also:

ASSERT failure in QReadWriteLock::unlock(): "Cannot unlock an unlocked lock", file thread/qreadwritelock.cpp, line 405


- Rick W.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100098/#review178
-----------------------------------------------------------


On 2010-10-23 00:19:36, Ralf Engels wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100098/
> -----------------------------------------------------------
> 
> (Updated 2010-10-23 00:19:36)
> 
> 
> Review request for Amarok.
> 
> 
> Summary
> -------
> 
> This patch improves the SqlMeta thread safety.
> It has several parts:
> - Use QReadWriteLock for SqlTrack.
>  For this I also needed to pull the read accessor functions into the .cpp
> - SqlCollection is a const pointer.
>  All metas are directly dependent on the SqlCollection and it could and should never change.
>  Using weak pointers here is not needed.
>  Note that now the access to m_collection is also thread safe as it's const
> - SqlAlbum::setCompilation did modify the old album
>  This was changed an a new album will be created.
>  The positive side effect is that the UI will now update directly if setting a compilation
> - SqlAlbum::setImage will now copy embedded images directly when set
>  If the track-uid is set (maybe from another thread) the cover image will still be found.
>  Note that the image cache is and was not connected to the track uid.
> 
> 
> This addresses bug 254631.
>     https://bugs.kde.org/show_bug.cgi?id=254631
> 
> 
> Diffs
> -----
> 
>   src/core-impl/collections/sqlcollection/CapabilityDelegateImpl.cpp 78fd02b 
>   src/core-impl/collections/sqlcollection/SqlCollection.cpp b88d257 
>   src/core-impl/collections/sqlcollection/SqlMeta.h b92e351 
>   src/core-impl/collections/sqlcollection/SqlMeta.cpp 6b29b6e 
>   src/core-impl/collections/sqlcollection/SqlRegistry.h 66ba632 
>   src/core-impl/collections/sqlcollection/SqlRegistry.cpp e1b3571 
>   tests/core-impl/collections/sqlcollection/TestSqlArtist.cpp d57f55a 
> 
> Diff: http://git.reviewboard.kde.org/r/100098/diff
> 
> 
> Testing
> -------
> 
> setting and unsetting compilation
> changing album name
> scanning and fully scanning collection
> 
> 
> Thanks,
> 
> Ralf
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20101023/690df4c0/attachment.htm 


More information about the Amarok-devel mailing list