Closed
Bug 263429
Opened 21 years ago
Closed 21 years ago
execute() doesn't work on Mac OSX
Categories
(Core Graveyard :: Installer: XPInstall Engine, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jst, Assigned: jst)
Details
(Keywords: fixed-aviary1.0, fixed1.7.5, Whiteboard: [have patch] need review dveditz)
Attachments
(1 file)
|
10.02 KB,
patch
|
peterv
:
review+
dveditz
:
superreview+
chofmann
:
approval-aviary+
chofmann
:
approval1.7.5+
|
Details | Diff | Splinter Review |
It's impossible to write an xpi wrapper around a Mac installer today because
xpinstall's execute() call doesn't work on Mac OSX. The problem is that
nsProcessCommon in xpcom/threads uses nspr's PR_CreateProcess() etc which don't
work on the mac either. They'd work for creating processes for posix-like
executables (most likely), but not for executing Mac applications.
Patch coming up.
| Assignee | ||
Comment 1•21 years ago
|
||
| Assignee | ||
Comment 2•21 years ago
|
||
This patch basically copies the app launching logic from nsProcessMac.cpp (no
longer part of the build, and thus now being removed from the tree) into
nsProcessCommon.cpp.
| Assignee | ||
Updated•21 years ago
|
Attachment #161446 -
Flags: superreview?(dveditz)
Attachment #161446 -
Flags: review?(peterv)
| Assignee | ||
Updated•21 years ago
|
Flags: blocking-aviary1.0mac?
Flags: blocking-aviary1.0?
Updated•21 years ago
|
Flags: blocking-aviary1.0mac?
Flags: blocking-aviary1.0mac+
Flags: blocking-aviary1.0?
Flags: blocking-aviary1.0+
Comment 3•21 years ago
|
||
Comment on attachment 161446 [details] [diff] [review]
Make nsProcessCommon::Run() work on Mac OSX
>Index: xpcom/threads/nsProcessCommon.cpp
>===================================================================
>+#elif defined(XP_MACOSX)
>+ LaunchParamBlockRec launchPB;
Ugh, tabs.
>+ FSSpec resolvedSpec;
>+ OSErr err = noErr;
>+
>+ nsCOMPtr<nsILocalFileMac> macExecutable = do_QueryInterface(mExecutable);
>+ macExecutable->GetFSSpec(&resolvedSpec);
>+
Declare launchPB here.
>+ launchPB.launchAppSpec = &resolvedSpec;
>+ if (blocking && err == noErr) {
>+ while (1) {
>+ ProcessInfoRec info;
>+ info.processInfoLength = sizeof(ProcessInfoRec);
>+ info.processName = nil;
>+ info.processAppSpec = nil;
Use NULL for consistency.
Attachment #161446 -
Flags: review?(peterv) → review+
| Assignee | ||
Comment 4•21 years ago
|
||
Fixed locally.
Updated•21 years ago
|
Whiteboard: [have patch] need review dveditz
Comment 5•21 years ago
|
||
Comment on attachment 161446 [details] [diff] [review]
Make nsProcessCommon::Run() work on Mac OSX
sr=dveditz
Attachment #161446 -
Flags: superreview?(dveditz) → superreview+
| Assignee | ||
Updated•21 years ago
|
Attachment #161446 -
Flags: approval1.7.x?
Attachment #161446 -
Flags: approval-aviary?
Comment 6•21 years ago
|
||
Comment on attachment 161446 [details] [diff] [review]
Make nsProcessCommon::Run() work on Mac OSX
a=chofmann for the branches
Attachment #161446 -
Flags: approval1.7.x?
Attachment #161446 -
Flags: approval1.7.x+
Attachment #161446 -
Flags: approval-aviary?
Attachment #161446 -
Flags: approval-aviary+
| Assignee | ||
Comment 7•21 years ago
|
||
Fixed on trunk and branches.
Status: NEW → RESOLVED
Closed: 21 years ago
Keywords: fixed-aviary1.0,
fixed1.7.x
Resolution: --- → FIXED
Comment 8•21 years ago
|
||
This caused bug 267269 (passing arguments to nsIProcess no longer works).
Comment 9•21 years ago
|
||
Though I guess before it just silently didn't pass the args, while now it
throws, eh?
Comment 10•21 years ago
|
||
Though bug 267269 claims that the new process got the args somehow...
Updated•10 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•