Closed Bug 59247 Opened 25 years ago Closed 25 years ago

nsIDirectoryServiceProvider's need to be threadsafe

Categories

(Core Graveyard :: Profile: Migration, defect, P3)

x86
Linux
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.9.1

People

(Reporter: jud, Assigned: ccarlen)

Details

Attachments

(1 file)

The profile migration thread is using nsIDirectoryServiceProvider which is not threadsafe.
Two providers that need to be threadsafe are: 1) The one at mozilla/modules/appfilelocprovider. This one looks to be already. 2) The one implemented by profile manager. Profile mgr uses the threadsafe nsISupports macros - whether it actually is threadsafe ?? 3) The one at mozilla/modules/mpfilelocprovider. This one also is probably threadsafe already.
Conrad, are you the new directory service owner? :-)
Assignee: dougt → ccarlen
Sure, this one is pretty easy.
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9
-> 0.9.1. Actually, they are threadsafe - they just don't use the nsISupports macros which say they are.
Target Milestone: mozilla0.9 → mozilla0.9.1
Using NS_IMPL_THREADSAFE_ISUPPORTS1 avoids the assertion which can happen while migrating profiles. The object is threadsafe and the only code that it calls also claims to be threadsafe. CC'ing dougt for review.
r=valeski. wow! a real threadsafe class using the thread-safe macros, what a concept :-).
CC'ing jband for sr.
sr=jband. Looks safe to me.
Fix checked in. You'll no longer get the assertion when migrating profiles.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
verified code fix
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: