1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 18:47:44 +00:00

LibThread: Fix int to pointer conversion

This commit is contained in:
Jean-Baptiste Boric 2021-04-26 19:09:04 +02:00 committed by Linus Groh
parent 7d84f09e7e
commit 8d95bd8418
5 changed files with 9 additions and 9 deletions

View file

@ -12,7 +12,7 @@
static LibThread::Lockable<Queue<Function<void()>>>* s_all_actions;
static LibThread::Thread* s_background_thread;
static int background_thread_func()
static intptr_t background_thread_func()
{
while (true) {
Function<void()> work_item;

View file

@ -9,7 +9,7 @@
#include <string.h>
#include <unistd.h>
LibThread::Thread::Thread(Function<int()> action, StringView thread_name)
LibThread::Thread::Thread(Function<intptr_t()> action, StringView thread_name)
: Core::Object(nullptr)
, m_action(move(action))
, m_thread_name(thread_name.is_null() ? "" : thread_name)
@ -33,9 +33,9 @@ void LibThread::Thread::start()
nullptr,
[](void* arg) -> void* {
Thread* self = static_cast<Thread*>(arg);
int exit_code = self->m_action();
auto exit_code = self->m_action();
self->m_tid = 0;
return (void*)exit_code;
return reinterpret_cast<void*>(exit_code);
},
static_cast<void*>(this));

View file

@ -15,7 +15,7 @@
namespace LibThread {
TYPEDEF_DISTINCT_ORDERED_ID(int, ThreadError);
TYPEDEF_DISTINCT_ORDERED_ID(intptr_t, ThreadError);
class Thread final : public Core::Object {
C_OBJECT(Thread);
@ -32,8 +32,8 @@ public:
pthread_t tid() const { return m_tid; }
private:
explicit Thread(Function<int()> action, StringView thread_name = nullptr);
Function<int()> m_action;
explicit Thread(Function<intptr_t()> action, StringView thread_name = nullptr);
Function<intptr_t()> m_action;
pthread_t m_tid { 0 };
String m_thread_name;
};