Skip to content

Commit

Permalink
link pthread as just "external" without clib='c'
Browse files Browse the repository at this point in the history
- as in rtl/*bsd/pthread.inc
- let Darwin use the clib reference - as in rtl/darwin/pthread.inc
  • Loading branch information
Arnaud Bouchez committed Nov 1, 2023
1 parent 78bad37 commit 801a6b8
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
26 changes: 19 additions & 7 deletions src/core/mormot.core.os.posix.inc
Expand Up @@ -847,20 +847,32 @@ var
{$endif OSPTHREADSLIB}

{$ifdef OSPTHREADSSTATIC}
// note: pthread_setname_np() has no consistent API across POSIX systems
{$define OSPTHREADS}
// note: pthread_setname_np() has no single API across POSIX systems

{$ifdef OSDARWIN}
// we specify link to clib='c' as in rtl/darwin/pthread.inc
function pthread_cancel(thread: pointer): integer;
cdecl external clib name 'pthread_cancel';
cdecl; external clib name 'pthread_cancel';
function pthread_mutex_init(mutex, attr: pointer): integer;
cdecl external clib name 'pthread_mutex_init';
cdecl; external clib name 'pthread_mutex_init';
function pthread_mutex_destroy(mutex: pointer): integer;
cdecl external clib name 'pthread_mutex_destroy';
cdecl; external clib name 'pthread_mutex_destroy';
function pthread_mutex_lock(mutex: pointer): integer;
cdecl external clib name 'pthread_mutex_lock';
cdecl; external clib name 'pthread_mutex_lock';
function pthread_mutex_trylock(mutex: pointer): integer;
cdecl external clib name 'pthread_mutex_trylock';
cdecl; external clib name 'pthread_mutex_trylock';
function pthread_mutex_unlock(mutex: pointer): integer;
cdecl external clib name 'pthread_mutex_unlock';
cdecl; external clib name 'pthread_mutex_unlock';
{$else}
// just "external" without clib='c' as in rtl/*bsd/pthread.inc
function pthread_cancel(thread: pointer): integer; cdecl; external;
function pthread_mutex_init(mutex, attr: pointer): integer; cdecl; external;
function pthread_mutex_destroy(mutex: pointer): integer; cdecl; external;
function pthread_mutex_lock(mutex: pointer): integer; cdecl; external;
function pthread_mutex_trylock(mutex: pointer): integer; cdecl; external;
function pthread_mutex_unlock(mutex: pointer): integer; cdecl; external;
{$endif OSDARWIN}
{$endif OSPTHREADSSTATIC}


Expand Down
2 changes: 1 addition & 1 deletion src/mormot.commit.inc
@@ -1 +1 @@
'2.1.6235'
'2.1.6236'

0 comments on commit 801a6b8

Please sign in to comment.