mp_thread #26

Merged
MartinFouilleul merged 2 commits from mp_thread into main 2023-07-31 18:36:55 +00:00
3 changed files with 10 additions and 16 deletions

View File

@ -28,12 +28,9 @@ if %target% == milepost (
if %target% == orca (
echo building orca
set pthread_dir=..\vcpkg\packages\pthreads_x64-windows
::copy libraries
copy milepost\bin\milepost.dll bin
copy milepost\bin\milepost.dll.lib bin
copy %pthread_dir%\bin\pthreadVC3.dll bin
::generate wasm3 api bindings
python3 scripts\bindgen.py core src\core_api.json^
@ -58,8 +55,8 @@ if %target% == orca (
--wasm3-bindings src\io_api_bind_gen.c
::compile orca
set INCLUDES=/I src /I sdk /I ext\wasm3\source /I milepost\src /I milepost\ext /I %pthread_dir%\include
set LIBS=/LIBPATH:bin /LIBPATH:%pthread_dir%\lib milepost.dll.lib wasm3.lib pthreadVC3.lib
set INCLUDES=/I src /I sdk /I ext\wasm3\source /I milepost\src /I milepost\ext
set LIBS=/LIBPATH:bin milepost.dll.lib wasm3.lib
cl /Zi /Zc:preprocessor /std:c11 %INCLUDES% src\main.c /link %LIBS% /out:bin\orca.exe
cl /Zi /Zc:preprocessor /std:c11 /experimental:c11atomics %INCLUDES% src\main.c /link %LIBS% /out:bin\orca.exe
)

@ -1 +1 @@
Subproject commit 442d86386ebdc6e119ec765648420b6e096d145d
Subproject commit 6221370aa0e8c520ebde179a1e715a8ed2e28611

View File

@ -7,7 +7,6 @@
*****************************************************************/
#include<stdio.h>
#include<errno.h>
#include<pthread.h>
#include<math.h>
#define MG_INCLUDE_GL_API
@ -306,7 +305,7 @@ void orca_runtime_init(orca_runtime* runtime)
#include"gles_api_bind_gen.c"
#include"manual_gles_api.c"
void* orca_runloop(void* user)
i32 orca_runloop(void* user)
{
orca_app* app = &__orcaApp;
@ -328,7 +327,7 @@ void* orca_runloop(void* user)
options);
mp_request_quit();
return((void*)-1);
return(-1);
}
fseek(file, 0, SEEK_END);
@ -378,7 +377,7 @@ void* orca_runloop(void* user)
options);
mp_request_quit();
return((void*)-1);
return(-1);
}
//NOTE: Find and type check event handlers.
@ -473,7 +472,7 @@ void* orca_runloop(void* user)
options);
mp_request_quit();
return((void*)-1);
return(-1);
}
}
@ -803,8 +802,7 @@ int main(int argc, char** argv)
mp_window_focus(app->window);
mp_window_center(app->window);
pthread_t runloopThread;
pthread_create(&runloopThread, 0, orca_runloop, 0);
mp_thread* runloopThread = mp_thread_create(orca_runloop, 0);
while(!mp_should_quit())
{
@ -812,8 +810,7 @@ int main(int argc, char** argv)
//TODO: what to do with mem scratch here?
}
void* res;
pthread_join(runloopThread, &res);
mp_thread_join(runloopThread, NULL);
mg_canvas_destroy(app->canvas);
mg_surface_destroy(app->surface);