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:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user