Ensure thread IDs always start with 1 even if the library is reused

Within the Android App the library stays loaded in memory and is just
initialized/deinitialized with each connection, the static thread
counter would continuously increase without this patch.
This commit is contained in:
Tobias Brunner
2012-08-13 11:28:08 +02:00
parent 1fcaa71291
commit efbb5e8c57
+2 -2
View File
@@ -114,7 +114,7 @@ typedef struct {
/** /**
* Next thread ID. * Next thread ID.
*/ */
static u_int next_id = 1; static u_int next_id;
/** /**
* Mutex to safely access the next thread ID. * Mutex to safely access the next thread ID.
@@ -452,6 +452,7 @@ void threads_init()
dummy1 = thread_value_create(NULL); dummy1 = thread_value_create(NULL);
next_id = 1;
main_thread->id = 0; main_thread->id = 0;
main_thread->thread_id = pthread_self(); main_thread->thread_id = pthread_self();
current_thread = thread_value_create(NULL); current_thread = thread_value_create(NULL);
@@ -482,4 +483,3 @@ void threads_deinit()
current_thread->destroy(current_thread); current_thread->destroy(current_thread);
id_mutex->destroy(id_mutex); id_mutex->destroy(id_mutex);
} }