Index: base/platform_thread_posix.cc |
=================================================================== |
--- base/platform_thread_posix.cc (revision 66790) |
+++ base/platform_thread_posix.cc (working copy) |
@@ -7,11 +7,6 @@ |
#include <errno.h> |
#include <sched.h> |
-#include "base/logging.h" |
-#include "base/safe_strerror_posix.h" |
-#include "base/scoped_ptr.h" |
-#include "base/thread_restrictions.h" |
- |
#if defined(OS_MACOSX) |
#include <mach/mach.h> |
#include <sys/resource.h> |
@@ -29,27 +24,18 @@ |
#include <sys/nacl_syscalls.h> |
#endif |
+#include "base/logging.h" |
+#include "base/safe_strerror_posix.h" |
+ |
#if defined(OS_MACOSX) |
namespace base { |
void InitThreading(); |
} // namespace base |
#endif |
-namespace { |
- |
-struct ThreadParams { |
- PlatformThread::Delegate* delegate; |
- bool joinable; |
-}; |
- |
-} // namespace |
- |
-static void* ThreadFunc(void* params) { |
- ThreadParams* thread_params = static_cast<ThreadParams*>(params); |
- PlatformThread::Delegate* delegate = thread_params->delegate; |
- if (!thread_params->joinable) |
- base::ThreadRestrictions::SetSingletonAllowed(false); |
- delete thread_params; |
+static void* ThreadFunc(void* closure) { |
+ PlatformThread::Delegate* delegate = |
+ static_cast<PlatformThread::Delegate*>(closure); |
delegate->ThreadMain(); |
return NULL; |
} |
@@ -188,14 +174,9 @@ |
if (stack_size > 0) |
pthread_attr_setstacksize(&attributes, stack_size); |
- ThreadParams* params = new ThreadParams; |
- params->delegate = delegate; |
- params->joinable = joinable; |
- success = !pthread_create(thread_handle, &attributes, ThreadFunc, params); |
+ success = !pthread_create(thread_handle, &attributes, ThreadFunc, delegate); |
pthread_attr_destroy(&attributes); |
- if (!success) |
- delete params; |
return success; |
} |