pthread_t on Linux is defined as unsigned long. The variable storing the thread_id within various quickfix classes is defined as an unsigned [int]. Which causes problems specifically during thread joins on exit as the thread_id doesn't match the original id spawned by the pthread_create.
Patch is tested on Linux Ubuntu 9.04 with g++ 4.3.3.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
64-bit Thread ID Patch
This patch resolve the issue described in
https://sourceforge.net/tracker/?func=detail&aid=2851230&group_id=37535&atid=1126912
pthread_t on Linux is defined as unsigned long. The variable storing the thread_id within various quickfix classes is defined as an unsigned [int]. Which causes problems specifically during thread joins on exit as the thread_id doesn't match the original id spawned by the pthread_create.
Patch is tested on Linux Ubuntu 9.04 with g++ 4.3.3.