Bug 968432 - Implement mozilla::ipc::SetThisProcessName() on BSDs. r=dhylands
new file mode 100644
--- /dev/null
+++ b/ipc/glue/ProcessUtils_bsd.cpp
@@ -0,0 +1,26 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "ProcessUtils.h"
+
+#include <pthread.h>
+
+#if !defined(OS_NETBSD)
+#include <pthread_np.h>
+#endif
+
+namespace mozilla {
+namespace ipc {
+
+void SetThisProcessName(const char *aName)
+{
+#if defined(OS_NETBSD)
+ pthread_setname_np(pthread_self(), "%s", (void *)aName);
+#else
+ pthread_set_name_np(pthread_self(), aName);
+#endif
+}
+
+} // namespace ipc
+} // namespace mozilla
--- a/ipc/glue/moz.build
+++ b/ipc/glue/moz.build
@@ -71,16 +71,20 @@ if CONFIG['OS_TARGET'] == 'Android':
]
else:
EXPORTS.mozilla.ipc += ['SharedMemoryBasic_chromium.h']
if CONFIG['OS_ARCH'] == 'Linux':
UNIFIED_SOURCES += [
'ProcessUtils_linux.cpp',
]
+elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'):
+ UNIFIED_SOURCES += [
+ 'ProcessUtils_bsd.cpp'
+ ]
else:
UNIFIED_SOURCES += [
'ProcessUtils_none.cpp',
]
EXPORTS.ipc += [
'IPCMessageUtils.h',
]