mirror of
https://git.freebsd.org/ports.git
synced 2025-06-28 08:00:31 -04:00
FreeBSD-specific improvements: - working WiFi geolocation [1] (can be turned off in preferences) - fix build with clang (use external libvpx) - use SysV SHM model and where possible OS_BSD, which saves some patches - no need to use ZygoteProcess switch HTML5 audio is currently broken. PR: ports/174402 [1] Submitted by: J.R. Oldroyd <fbsd@opal.com> [1] Security: http://www.vuxml.org/freebsd/46bd747b-5b84-11e2-b06d-00262d5ed8ee.html
101 lines
3.7 KiB
C++
101 lines
3.7 KiB
C++
--- content/browser/child_process_launcher.cc.orig 2012-11-27 10:01:25.000000000 +0200
|
|
+++ content/browser/child_process_launcher.cc 2012-12-09 17:02:22.000000000 +0200
|
|
@@ -53,7 +53,7 @@
|
|
termination_status_(base::TERMINATION_STATUS_NORMAL_TERMINATION),
|
|
exit_code_(RESULT_CODE_NORMAL_EXIT),
|
|
starting_(true)
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
|
|
, zygote_(false)
|
|
#endif
|
|
{
|
|
@@ -196,7 +196,7 @@
|
|
FileDescriptorInfo(kPrimaryIPCChannel,
|
|
base::FileDescriptor(ipcfd, false)));
|
|
|
|
-#if !defined(OS_MACOSX)
|
|
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
|
|
GetContentClient()->browser()->
|
|
GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id,
|
|
&files_to_register);
|
|
@@ -217,7 +217,7 @@
|
|
base::GlobalDescriptors::kBaseDescriptor));
|
|
}
|
|
|
|
-#if !defined(OS_MACOSX)
|
|
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
|
|
if (process_type == switches::kRendererProcess) {
|
|
const int sandbox_fd =
|
|
RenderSandboxHostLinux::GetInstance()->GetRendererSocket();
|
|
@@ -269,7 +269,7 @@
|
|
base::Bind(
|
|
&Context::Notify,
|
|
this_object.get(),
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
|
|
use_zygote,
|
|
#endif
|
|
handle));
|
|
@@ -277,7 +277,7 @@
|
|
}
|
|
|
|
void Notify(
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
|
|
bool zygote,
|
|
#endif
|
|
base::ProcessHandle handle) {
|
|
@@ -290,7 +290,7 @@
|
|
if (!handle)
|
|
LOG(ERROR) << "Failed to launch child process";
|
|
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
|
|
zygote_ = zygote;
|
|
#endif
|
|
if (client_) {
|
|
@@ -313,7 +313,7 @@
|
|
BrowserThread::PROCESS_LAUNCHER, FROM_HERE,
|
|
base::Bind(
|
|
&Context::TerminateInternal,
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
|
|
zygote_,
|
|
#endif
|
|
process_.handle()));
|
|
@@ -327,7 +327,7 @@
|
|
}
|
|
|
|
static void TerminateInternal(
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
|
|
bool zygote,
|
|
#endif
|
|
base::ProcessHandle handle) {
|
|
@@ -341,7 +341,7 @@
|
|
process.Terminate(RESULT_CODE_NORMAL_EXIT);
|
|
// On POSIX, we must additionally reap the child.
|
|
#if defined(OS_POSIX)
|
|
-#if !defined(OS_MACOSX)
|
|
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
|
|
if (zygote) {
|
|
// If the renderer was created via a zygote, we have to proxy the reaping
|
|
// through the zygote process.
|
|
@@ -368,7 +368,7 @@
|
|
#if defined(OS_ANDROID)
|
|
// The fd to close after creating the process.
|
|
int ipcfd_;
|
|
-#elif defined(OS_POSIX) && !defined(OS_MACOSX)
|
|
+#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
|
|
bool zygote_;
|
|
#endif
|
|
};
|
|
@@ -423,7 +423,7 @@
|
|
*exit_code = context_->exit_code_;
|
|
return context_->termination_status_;
|
|
}
|
|
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
|
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
|
|
if (context_->zygote_) {
|
|
context_->termination_status_ = ZygoteHostImpl::GetInstance()->
|
|
GetTerminationStatus(handle, &context_->exit_code_);
|