Closed Bug 77209 Opened 19 years ago Closed 19 years ago

fix duplicate globals used for module instance counting

Categories

(Core :: Internationalization, defect, P3)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla0.9.1

People

(Reporter: waterson, Assigned: dprice)

References

Details

(Keywords: memory-footprint)

Attachments

(1 file)

The intl code uses g_InstanceCount and g_LockCount in several places to manage 
per-DLL instance counting. Specifically, this is done to properly implement 
nsIModule::CanUnload(). Unfortunately, in a static link, the symbols collide.
Patch made against STATIC_BUILD_20010418_BRANCH, but not checked in. With this 
patch, I've unconditionally removed all module instance and lock counting in the 
I18n code. I talked over this with shaver briefly, before trying to fix it ``the 
right way''. His argument, which I buy, was that

1. We never to do component unloading in the dynamic build, so removing this
   code will have no immediate impact.

2. By the time we figure out how to do component unloading, we'll probably have
   altered the API and/or made a few nice macros to do all the heavy lifting,
   so this stuff'd have to change *anyway*.

I'd like to get a bit more feedback on this issue before checking the changes 
into the branch.
Blocks: 46775
Status: NEW → ASSIGNED
Keywords: footprint
Priority: -- → P3
Target Milestone: --- → mozilla0.9.1
Changing QA contact to ftang. Frank, can this bug be verified within development 
after it has been fixed or can you provide QA with a test case?
QA Contact: andreasb → ftang
Keywords: donttest, patch
dprice, this patch needs to be shepherded into final landing if ftang okays 
getting rid of the globals. I've sent him and erik private email.
Assignee: waterson → dprice
Status: ASSIGNED → NEW
quiet weekend. fix checked in. r=erik, sr=shaver.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
putting this in on STATIC_BUILD_20010418_BRANCH too 
You need to log in before you can comment on or make changes to this bug.