From CDOT Wiki
Jump to: navigation, search

Date: Oct 8, 2008
Re: Regressions caused by using the NSPR in nsIProcess
Peoples: James Boston (jboston), David Humphrey (humph), Mark Finkle (mfinkle), Benjamin Smedberg (bsmedberg)

14:39 <@humph> jboston:
16:44 < jboston> humph: I saw that on Planet Mozilla. I've read the bug history. I'm just not sure 
                 what to do about it. It may be that people need to think about filing bugs against
                 the NSPR code. I don't know how actively NSPR code is maintained or developed or used.
                 Is it vital to the browser or is it something left over from Netscape that is just
                 rusting away?
16:45 < mfinkle> NSPR is still actively maintained
16:45 < mfinkle> NSPR is used in a few other open source projects too
16:46 < mfinkle> they have a different set of maintainers and reviewers
16:46 <@humph> jboston: I think this work, and yours, shows that most users of nsIProcess are non-mozilla
16:46 < jboston> See, I'll have to check if that unicode problem exists when using NSPR.
16:46 < jboston> hmm
16:47 <@humph> bsmedberg has mentioned that this would be an issue for you, as I recall
16:47 < bsmedberg> the problem exists in spades in NSPR
16:47 < jboston> yes. i recall that. i'm trying to find it in the notes.
16:48 <@humph> bsmedberg: we're talking about 
16:48 <@humph> and the unicode issue, which perhaps you're also talking about
16:48 < jboston> Ah, yes. He talked about 'unresolved issues with character sets' in our chat.
16:50 < bsmedberg> jboston: we solved this for PR_LoadLibrary by adding NSPR features. See
16:50 < bsmedberg> and follow the CVS blame backwards
16:50 < jboston> bsmedberg: Thanks.
16:50 < bsmedberg> the basic problem being that you can't represent windows path with a native char*
16:51 < bsmedberg> you either have to use PRUnichar* == WCHAR*, or transcode back and forth from UTF8
16:56 < jboston> humph: If I go mucking around in NSPR code am I out of scope for this project? I still
                 have the asynchronous I/O to do!
17:05 <@humph> jboston: no, that's cool
17:06 < jboston> To be honest, string conversions make my head spin!
17:06 <@humph> I think you'll find that to do your work, you'll need to be in nspr
17:08 < jboston> I could go the opposite route and fix nsIProcess without using the NSPR (any more than
                 it is now). It just means piling more code into the interface. I already tried a patch
                 that does that for win32. I could do that for the other platforms as well. It just seems
                 hacky. But ugly is subjective. Functionality is objective.
17:10 < jboston> Code that works today is better than code that could be perfect tomorrow.
17:12 < jboston> Anway, I guess I can go ahead and to the ipc stuff on the assumption that nsIProcess works
                 the way it should.
17:20 <@humph> jboston: using nspr makes the most sense to me, so carry on
17:21 <@humph> you're not introducing a new dep for mozilla--it's their dep to begin with, so it's fine
17:21 < jboston> humph: It seems like a better design choice over the long run.
17:21 <@humph> totally agree.  and reviewers will tell you if you're wrong
17:21 < jboston> meet new and interesting people!
17:21 <@humph> interesting, yes