$OpenBSD: patch-content_browser_child_process_launcher_cc,v 1.18 2015/01/22 11:16:41 robert Exp $
--- content/browser/child_process_launcher.cc.orig.port	Sat Dec  6 11:42:43 2014
+++ content/browser/child_process_launcher.cc	Sun Dec  7 14:53:20 2014
@@ -69,7 +69,7 @@ class ChildProcessLauncher::Context
 #else
         terminate_child_on_shutdown_(true)
 #endif
-#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
         {
@@ -190,7 +190,7 @@ class ChildProcessLauncher::Context
     bool launch_elevated = delegate->ShouldLaunchElevated();
 #elif defined(OS_ANDROID)
     // Uses |ipcfd_| instead of |ipcfd| on Android.
-#elif defined(OS_MACOSX)
+#elif defined(OS_MACOSX) || defined(OS_BSD)
     base::EnvironmentMap env = delegate->GetEnvironment();
     base::ScopedFD ipcfd = delegate->TakeIpcFd();
 #elif defined(OS_POSIX)
@@ -253,7 +253,7 @@ class ChildProcessLauncher::Context
     // We need to close the client end of the IPC channel to reliably detect
     // child termination.
 
-#if !defined(OS_MACOSX)
+#if !defined(OS_MACOSX) && !defined(OS_BSD)
     GetContentClient()->browser()->GetAdditionalMappedFilesForChildProcess(
         *cmd_line, child_process_id, files_to_register.get());
     if (use_zygote) {
@@ -268,7 +268,7 @@ class ChildProcessLauncher::Context
           files_to_register->GetMappingWithIDAdjustment(
               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();
@@ -335,7 +335,7 @@ class ChildProcessLauncher::Context
       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
           base::Passed(base::Process(handle))));
@@ -343,7 +343,7 @@ class ChildProcessLauncher::Context
   }
 
   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::Process process) {
@@ -356,7 +356,7 @@ class ChildProcessLauncher::Context
     if (!process_.IsValid())
       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_) {
@@ -383,7 +383,7 @@ class ChildProcessLauncher::Context
         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
             base::Passed(&process_)));
@@ -398,7 +398,7 @@ class ChildProcessLauncher::Context
   }
 
   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::Process process) {
@@ -412,7 +412,7 @@ class ChildProcessLauncher::Context
     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.
@@ -438,7 +438,7 @@ class ChildProcessLauncher::Context
 #if defined(OS_ANDROID)
   // The fd to close after creating the process.
   base::ScopedFD ipcfd_;
-#elif defined(OS_POSIX) && !defined(OS_MACOSX)
+#elif defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
   bool zygote_;
 #endif
 };
@@ -479,7 +479,7 @@ base::TerminationStatus ChildProcessLauncher::GetChild
       *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(context_->process_.Handle(), known_dead,
