Closed Bug 224942 Opened 21 years ago Closed 21 years ago

IPCD cleanup

Categories

(Core :: IPC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.6beta

People

(Reporter: darin.moz, Assigned: darin.moz)

Details

Attachments

(1 file)

couple problems with the current IPC code:

1- startup requires the client process to periodically try to connect. 
currently, we use a 50 ms timeout.  this hurts startup performance.  instead, we
should have the daemon (the child process) tell us when to connect.  this can be
done using an anonymous pipe.  all platforms should be happy with this approach.

2- pike noticed that ipcIService::getClientID always fails.  turns out
ipcService::OnConnectionEstablished wasn't running.

3- XP_UNIX implementation depends on the necko socket transport.  this means
that it isn't possible to do IPC from the socket transport thread.  in turn,
that means we cannot use this IPC to implement a shared certificate database. 
we need custom code in the XP_UNIX IPC client to read/write a PR_AF_LOCAL domain
socket.  there's not much code required for this.  in fact, the amount of code
is on par with the amount of glue code required to use necko's socket transport! :-/

4- ipcTransport.h shouldn't have all those ifdefs.  things should be better
factored.

attaching a patch that fixes all of these problems.
Attached patch v1.0 patchSplinter Review
ok, patch (plus review nits from timeless and axel over irc) is checked in.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.6beta
QA Contact: ipc
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: