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
Notes: sideshowbarker 2024-07-18 19:01:04 +09:00
5 changed files with 9 additions and 9 deletions

View file

@ -84,7 +84,7 @@ Debug::DebugInfo::SourcePosition Debugger::create_source_position(const String&
return { LexicalPath::canonicalized_path(String::formatted("{}/{}", m_source_root, file)), line + 1 };
}
int Debugger::start_static()
intptr_t Debugger::start_static()
{
Debugger::the().start();
return 0;

View file

@ -43,7 +43,7 @@ public:
void stop();
// Thread entry point
static int start_static();
static intptr_t start_static();
pthread_mutex_t* continue_mutex() { return &m_ui_action_mutex; }
pthread_cond_t* continue_cond() { return &m_ui_action_cond; }

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;
};