> 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
[email protected]
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel