diff options
Diffstat (limited to 'drivers/unix/thread_posix.cpp')
| -rw-r--r-- | drivers/unix/thread_posix.cpp | 67 |
1 files changed, 32 insertions, 35 deletions
diff --git a/drivers/unix/thread_posix.cpp b/drivers/unix/thread_posix.cpp index ecea67c37..c33cc8cc5 100644 --- a/drivers/unix/thread_posix.cpp +++ b/drivers/unix/thread_posix.cpp @@ -39,18 +39,18 @@ Thread::ID ThreadPosix::get_ID() const { - return id; + return id; } -Thread* ThreadPosix::create_thread_posix() { +Thread *ThreadPosix::create_thread_posix() { - return memnew( ThreadPosix ); + return memnew(ThreadPosix); } void *ThreadPosix::thread_callback(void *userdata) { - ThreadPosix *t=reinterpret_cast<ThreadPosix*>(userdata); - t->id=(ID)pthread_self(); + ThreadPosix *t = reinterpret_cast<ThreadPosix *>(userdata); + t->id = (ID)pthread_self(); ScriptServer::thread_enter(); //scripts may need to attach a stack @@ -61,80 +61,77 @@ void *ThreadPosix::thread_callback(void *userdata) { return NULL; } -Thread* ThreadPosix::create_func_posix(ThreadCreateCallback p_callback,void *p_user,const Settings&) { +Thread *ThreadPosix::create_func_posix(ThreadCreateCallback p_callback, void *p_user, const Settings &) { - ThreadPosix *tr= memnew(ThreadPosix); - tr->callback=p_callback; - tr->user=p_user; + ThreadPosix *tr = memnew(ThreadPosix); + tr->callback = p_callback; + tr->user = p_user; pthread_attr_init(&tr->pthread_attr); pthread_attr_setdetachstate(&tr->pthread_attr, PTHREAD_CREATE_JOINABLE); pthread_attr_setstacksize(&tr->pthread_attr, 256 * 1024); - + pthread_create(&tr->pthread, &tr->pthread_attr, thread_callback, tr); - + return tr; } Thread::ID ThreadPosix::get_thread_ID_func_posix() { return (ID)pthread_self(); } -void ThreadPosix::wait_to_finish_func_posix(Thread* p_thread) { +void ThreadPosix::wait_to_finish_func_posix(Thread *p_thread) { - ThreadPosix *tp=static_cast<ThreadPosix*>(p_thread); + ThreadPosix *tp = static_cast<ThreadPosix *>(p_thread); ERR_FAIL_COND(!tp); - ERR_FAIL_COND(tp->pthread==0); - - pthread_join(tp->pthread,NULL); - tp->pthread=0; + ERR_FAIL_COND(tp->pthread == 0); + + pthread_join(tp->pthread, NULL); + tp->pthread = 0; } -Error ThreadPosix::set_name_func_posix(const String& p_name) { +Error ThreadPosix::set_name_func_posix(const String &p_name) { pthread_t running_thread = pthread_self(); - #ifdef PTHREAD_NO_RENAME +#ifdef PTHREAD_NO_RENAME return ERR_UNAVAILABLE; - #else +#else - #ifdef PTHREAD_RENAME_SELF +#ifdef PTHREAD_RENAME_SELF // check if thread is the same as caller int err = pthread_setname_np(p_name.utf8().get_data()); - - #else - #ifdef PTHREAD_BSD_SET_NAME +#else + +#ifdef PTHREAD_BSD_SET_NAME pthread_set_name_np(running_thread, p_name.utf8().get_data()); int err = 0; // Open/FreeBSD ignore errors in this function - #else +#else int err = pthread_setname_np(running_thread, p_name.utf8().get_data()); - #endif // PTHREAD_BSD_SET_NAME +#endif // PTHREAD_BSD_SET_NAME - #endif // PTHREAD_RENAME_SELF +#endif // PTHREAD_RENAME_SELF return err == 0 ? OK : ERR_INVALID_PARAMETER; - #endif // PTHREAD_NO_RENAME +#endif // PTHREAD_NO_RENAME }; void ThreadPosix::make_default() { - create_func=create_func_posix; - get_thread_ID_func=get_thread_ID_func_posix; - wait_to_finish_func=wait_to_finish_func_posix; + create_func = create_func_posix; + get_thread_ID_func = get_thread_ID_func_posix; + wait_to_finish_func = wait_to_finish_func_posix; set_name_func = set_name_func_posix; } ThreadPosix::ThreadPosix() { - pthread=0; + pthread = 0; } - ThreadPosix::~ThreadPosix() { - } - #endif |
