This is the mail archive of the pthreads-win32@sources.redhat.com mailing list for the pthreas-win32 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem using PThreads TLS from a DLL.


Aurelio Medina wrote:
> 
> Hello all,
> 
> I've encountered a problem when using the PThreads-Win32 (PThreadVCE)
> thread local storage (TLS) routines from within my own DLL.  Before I
> dig any deeper I would like to know if anyone has seen this and/or has
> a workaround.  My DLL is calloc'ing TLS data and I believe the TLS
> destructors (which I have calling free) are firing within the main app
> and not within my DLL.  This causes the app that uses my DLL to crash
> in the TLS destructor when calling free.  It crashes beacuse the app is
> trying to free CRT memory allocated by my DLL.   Is there some PThread
> function that I can call in my DLLMain to cause the TLS destructors to
> fire when my DLL is detached?

Do I understand the problem correctly: is this because the memory is
unallocated when your DLL is unloaded and therefore free()
segfaults?

Are you able to join those threads before unloading
your DLL? Pthread_join() will call the destructors
for you when the threads exit.

Ross

> 
> Thanks,
> Aurelio Medina

-- 
+-------------------------+---+
| Ross Johnson            |   | "Come down off the cross
| Management & Technology |___|  We can use the wood" - Tom Waits
| Building 11                 |
| University of Canberra      | eMail: rpj@ise.canberra.edu.au
| ACT    2601                 | WWW:  
http://public.ise.canberra.edu.au/~rpj/
| AUSTRALIA                   |
+-----------------------------+


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]