> On June 28, 2014, 11:31 p.m., Matthew Dawson wrote:
> > I'm not sure about moving the warning about immutable files to only happen 
> > on the main thread, as it is possible that an application may use it 
> > KSharedConfig on an alternate thread only.
> > 
> > As this is mainly an optimization, I think the best thing is to just move 
> > to using the load() function on the atomic integer, as I believe that 
> > doesn't require processors to synchronize, and won't limit optimizations.  
> > Otherwise, I'm fine with the immutable files as that is simpler code wise.  
> > Thoughts?
> 
> David Faure wrote:
>     Well, I'm not sure we'd expect secondary threads to pop up a dialog 
> though (as KConfig::isConfigWritable(true /*warn user*/) does, via 
> QProcess("kdialog")).
>     
>     This bit (the warnUser code) isn't really about an optimization, but 
> about doing that stuff only in the main thread, where GUI apps initialize the 
> main config object and where user-interaction is expected.

I wouldn't either, and I'd except most code access its main config on a primary 
thread first.  I'm just thinking for those 1% of cases, that cause all the 
trouble.

When I mentioned about an optimization, I meant is that the reason for this RR, 
not the point of the user warning.  With the relaxed loading of the atomic int, 
I don't think there is much, if any of a performance hit.  I don't think the 
code complexity is too bad to handle that 1% either.  Is there any other reason 
for this change?  Otherwise, I'd prefer to be safe.

Otherwise, this patch looks good with the latest changes.


- Matthew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118985/#review61157
-----------------------------------------------------------


On June 29, 2014, 9:55 a.m., David Faure wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118985/
> -----------------------------------------------------------
> 
> (Updated June 29, 2014, 9:55 a.m.)
> 
> 
> Review request for KDE Frameworks and Matthew Dawson.
> 
> 
> Repository: kconfig
> 
> 
> Description
> -------
> 
> KSharedConfig: move mainConfig and wasTestEnabled to the thread storage.
> 
> This enables the mainConfig optimization in all threads,
> and ensures the user warning only happens in the main thread.
> 
> The test-mode-enabled logic is only really useful in the main thread,
> but it's simpler to just do it in all threads.
> 
> REVIEW: 118985
> 
> 
> Diffs
> -----
> 
>   autotests/kconfigtest.cpp a8482b7099df5921909830082d758dc3095e3241 
>   src/core/ksharedconfig.cpp b7d155d5893502921d35d7dd971188b6a93a0620 
> 
> Diff: https://git.reviewboard.kde.org/r/118985/diff/
> 
> 
> Testing
> -------
> 
> no regression in "make test" in kconfig; still debugging races in helgrind 
> threadtest (in kio).
> 
> 
> Thanks,
> 
> David Faure
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to