diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2018-10-08 21:29:11 +0100 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2018-10-08 21:38:41 +0100 |
commit | 3195c3e4dac605aaa9ee877ea956151bc3e15830 (patch) | |
tree | 9e6237b4adcb66027c70619c9ad7fca785054904 /Examples/test-suite/director_thread.i | |
parent | 989f4289c16f7d298e9c0f5c63b58248771aaa67 (diff) | |
download | swig-3195c3e4dac605aaa9ee877ea956151bc3e15830.tar.gz |
Java directors - more generic thread name setting
Activated if a user sets SWIG_JAVA_USE_THREAD_NAME.
Implementations provided for linux/android/macos/unix.
A user's implementation will be used if SWIG_JAVA_GET_THREAD_NAME is
defined. It must implement the function:
namespace Swig {
SWIGINTERN int GetThreadName(char *name, size_t len);
}
Diffstat (limited to 'Examples/test-suite/director_thread.i')
-rw-r--r-- | Examples/test-suite/director_thread.i | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/Examples/test-suite/director_thread.i b/Examples/test-suite/director_thread.i index 260bce774..cb999ecc4 100644 --- a/Examples/test-suite/director_thread.i +++ b/Examples/test-suite/director_thread.i @@ -7,6 +7,11 @@ %module(directors="1") director_thread #endif +%begin %{ +#define SWIG_JAVA_USE_THREAD_NAME +//#define DEBUG_DIRECTOR_THREAD_NAME +%} + %{ #ifdef _WIN32 #include <windows.h> @@ -89,10 +94,23 @@ extern "C" { fprintf(stderr, "pthread_create failed in run()\n"); assert(0); } + int setname = pthread_setname_np(thread, "MyThreadName"); + if (setname != 0) { + fprintf(stderr, "pthread_setname_np failed in run()\n"); + assert(0); + } %#endif MilliSecondSleep(500); } - + + static bool namedThread() { +%#ifdef _WIN32 + return false; +%#else + return true; +%#endif + } + virtual void do_foo() { val += 1; } |