I think it could help understanding the code if you rename
mPasswordPromptAggregator => mTrackActivePasswordPrompt
mUserAndPasswordPromptAggregator => mTrackActiveUserAndPasswordPrompt
mTopAggregator => mActivePromptTracker
In function UnlockAggregator, please explain in a comment the purpose of your comparisons/tests.
+ while ((*mTopAggregator)->mLocked) {
+ if (!NS_ProcessNextEvent(thread))
+ return PR_FALSE;
I'm worried that you use a plain bool variable and this loop.
Is it guaranteed that "wake up after unlock" will always happen?
I think it could help understanding the code if you rename Aggregator => mTrackActivePas swordPrompt dPromptAggregat or => mTrackActiveUse rAndPasswordPro mpt acker
mPasswordPrompt
mUserAndPasswor
mTopAggregator => mActivePromptTr
In function UnlockAggregator, please explain in a comment the purpose of your comparisons/tests.
+ while ((*mTopAggregat or)->mLocked) { tEvent( thread) )
+ if (!NS_ProcessNex
+ return PR_FALSE;
I'm worried that you use a plain bool variable and this loop.
Is it guaranteed that "wake up after unlock" will always happen?