Status

()

Core
IPC
RESOLVED FIXED
14 years ago
9 years ago

People

(Reporter: Darin Fisher, Assigned: Darin Fisher)

Tracking

Trunk
mozilla1.6beta
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

14 years ago
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.
(Assignee)

Comment 1

14 years ago
Created attachment 134945 [details] [diff] [review]
v1.0 patch
(Assignee)

Comment 2

14 years ago
ok, patch (plus review nits from timeless and axel over irc) is checked in.
Status: NEW → RESOLVED
Last Resolved: 14 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.