Steal a play from mod_proxy, which taught us this Win32 lesson. Threaded local storage must be allocated with the Tls*() family of functions, or the dynamically loaded module _will_ clobber our clib's (msvcrt's) own thread saftey stacks. I _don't_ know what the other multithread platforms require in terms of initialization. OS2/Netware maintainers can steal the idea from the Win32 get_cur_unique_id() implementation, to initialize other copies on the fly (if required.) They may already call child_init for every thread, so child_init could call the master_init to set up this thread's variables. Remember that the get_cur_unique_id() applies to straight un*x fork implementations as well, so protect with #ifdef PLAT sections. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@91233 13f79535-47bb-0310-9956-ffa450edef68
parent
320f1fe4
Please register or sign in to comment