]> git.saurik.com Git - wxWidgets.git/commitdiff
Make storing non-trivial data in wxThreadSpecificInfo possible.
authorVáclav Slavík <vslavik@fastmail.fm>
Wed, 18 Sep 2013 16:03:14 +0000 (16:03 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Wed, 18 Sep 2013 16:03:14 +0000 (16:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

15 files changed:
Makefile.in
build/bakefiles/files.bkl
build/msw/makefile.bcc
build/msw/makefile.gcc
build/msw/makefile.vc
build/msw/makefile.wat
build/msw/wx_base.dsp
build/msw/wx_vc10_base.vcxproj
build/msw/wx_vc10_base.vcxproj.filters
build/msw/wx_vc7_base.vcproj
build/msw/wx_vc8_base.vcproj
build/msw/wx_vc9_base.vcproj
include/wx/private/threadinfo.h
src/common/log.cpp
src/common/threadinfo.cpp [new file with mode: 0644]

index c1fccbb8c9c130ceaea52146ab086dade2434e6f..06eb0a97ab2c071a48071cac19642d7cff15f4d9 100644 (file)
@@ -804,6 +804,7 @@ ALL_BASE_SOURCES =  \
        src/common/tarstrm.cpp \
        src/common/textbuf.cpp \
        src/common/textfile.cpp \
        src/common/tarstrm.cpp \
        src/common/textbuf.cpp \
        src/common/textfile.cpp \
+       src/common/threadinfo.cpp \
        src/common/time.cpp \
        src/common/timercmn.cpp \
        src/common/timerimpl.cpp \
        src/common/time.cpp \
        src/common/timercmn.cpp \
        src/common/timerimpl.cpp \
@@ -1000,6 +1001,7 @@ MONODLL_OBJECTS =  \
        monodll_tarstrm.o \
        monodll_textbuf.o \
        monodll_textfile.o \
        monodll_tarstrm.o \
        monodll_textbuf.o \
        monodll_textfile.o \
+       monodll_threadinfo.o \
        monodll_common_time.o \
        monodll_timercmn.o \
        monodll_timerimpl.o \
        monodll_common_time.o \
        monodll_timercmn.o \
        monodll_timerimpl.o \
@@ -1137,6 +1139,7 @@ MONOLIB_OBJECTS =  \
        monolib_tarstrm.o \
        monolib_textbuf.o \
        monolib_textfile.o \
        monolib_tarstrm.o \
        monolib_textbuf.o \
        monolib_textfile.o \
+       monolib_threadinfo.o \
        monolib_common_time.o \
        monolib_timercmn.o \
        monolib_timerimpl.o \
        monolib_common_time.o \
        monolib_timercmn.o \
        monolib_timerimpl.o \
@@ -1266,6 +1269,7 @@ BASEDLL_OBJECTS =  \
        basedll_tarstrm.o \
        basedll_textbuf.o \
        basedll_textfile.o \
        basedll_tarstrm.o \
        basedll_textbuf.o \
        basedll_textfile.o \
+       basedll_threadinfo.o \
        basedll_common_time.o \
        basedll_timercmn.o \
        basedll_timerimpl.o \
        basedll_common_time.o \
        basedll_timercmn.o \
        basedll_timerimpl.o \
@@ -1378,6 +1382,7 @@ BASELIB_OBJECTS =  \
        baselib_tarstrm.o \
        baselib_textbuf.o \
        baselib_textfile.o \
        baselib_tarstrm.o \
        baselib_textbuf.o \
        baselib_textfile.o \
+       baselib_threadinfo.o \
        baselib_common_time.o \
        baselib_timercmn.o \
        baselib_timerimpl.o \
        baselib_common_time.o \
        baselib_timercmn.o \
        baselib_timerimpl.o \
@@ -17063,6 +17068,9 @@ monodll_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(MONODLL_ODEP)
 monodll_textfile.o: $(srcdir)/src/common/textfile.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
 monodll_textfile.o: $(srcdir)/src/common/textfile.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
+monodll_threadinfo.o: $(srcdir)/src/common/threadinfo.cpp $(MONODLL_ODEP)
+       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/threadinfo.cpp
+
 monodll_common_time.o: $(srcdir)/src/common/time.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
 monodll_common_time.o: $(srcdir)/src/common/time.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
@@ -22931,6 +22939,9 @@ monolib_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(MONOLIB_ODEP)
 monolib_textfile.o: $(srcdir)/src/common/textfile.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
 monolib_textfile.o: $(srcdir)/src/common/textfile.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
+monolib_threadinfo.o: $(srcdir)/src/common/threadinfo.cpp $(MONOLIB_ODEP)
+       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/threadinfo.cpp
+
 monolib_common_time.o: $(srcdir)/src/common/time.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
 monolib_common_time.o: $(srcdir)/src/common/time.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
@@ -28799,6 +28810,9 @@ basedll_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(BASEDLL_ODEP)
 basedll_textfile.o: $(srcdir)/src/common/textfile.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
 basedll_textfile.o: $(srcdir)/src/common/textfile.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
+basedll_threadinfo.o: $(srcdir)/src/common/threadinfo.cpp $(BASEDLL_ODEP)
+       $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/threadinfo.cpp
+
 basedll_common_time.o: $(srcdir)/src/common/time.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
 basedll_common_time.o: $(srcdir)/src/common/time.cpp $(BASEDLL_ODEP)
        $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
@@ -29312,6 +29326,9 @@ baselib_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(BASELIB_ODEP)
 baselib_textfile.o: $(srcdir)/src/common/textfile.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
 baselib_textfile.o: $(srcdir)/src/common/textfile.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
 
+baselib_threadinfo.o: $(srcdir)/src/common/threadinfo.cpp $(BASELIB_ODEP)
+       $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/threadinfo.cpp
+
 baselib_common_time.o: $(srcdir)/src/common/time.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
 baselib_common_time.o: $(srcdir)/src/common/time.cpp $(BASELIB_ODEP)
        $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/time.cpp
 
index 3a032c6016f06d3dc78871fb24be8ed6d2cd85e4..a297dfcf8c334d60f6b80ea857689f80ec6ee9a1 100644 (file)
@@ -358,6 +358,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/common/tarstrm.cpp
     src/common/textbuf.cpp
     src/common/textfile.cpp
     src/common/tarstrm.cpp
     src/common/textbuf.cpp
     src/common/textfile.cpp
+    src/common/threadinfo.cpp
     src/common/time.cpp
     src/common/timercmn.cpp
     src/common/timerimpl.cpp
     src/common/time.cpp
     src/common/timercmn.cpp
     src/common/timerimpl.cpp
index 339ad9951937cf2ff01012e11544dd30f57832a1..e0c804e88c5490d9d7d72bfa536acb9a18675972 100644 (file)
@@ -409,6 +409,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_tarstrm.obj \\r
        $(OBJS)\monodll_textbuf.obj \\r
        $(OBJS)\monodll_textfile.obj \\r
        $(OBJS)\monodll_tarstrm.obj \\r
        $(OBJS)\monodll_textbuf.obj \\r
        $(OBJS)\monodll_textfile.obj \\r
+       $(OBJS)\monodll_threadinfo.obj \\r
        $(OBJS)\monodll_time.obj \\r
        $(OBJS)\monodll_timercmn.obj \\r
        $(OBJS)\monodll_timerimpl.obj \\r
        $(OBJS)\monodll_time.obj \\r
        $(OBJS)\monodll_timercmn.obj \\r
        $(OBJS)\monodll_timerimpl.obj \\r
@@ -559,6 +560,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_tarstrm.obj \\r
        $(OBJS)\monolib_textbuf.obj \\r
        $(OBJS)\monolib_textfile.obj \\r
        $(OBJS)\monolib_tarstrm.obj \\r
        $(OBJS)\monolib_textbuf.obj \\r
        $(OBJS)\monolib_textfile.obj \\r
+       $(OBJS)\monolib_threadinfo.obj \\r
        $(OBJS)\monolib_time.obj \\r
        $(OBJS)\monolib_timercmn.obj \\r
        $(OBJS)\monolib_timerimpl.obj \\r
        $(OBJS)\monolib_time.obj \\r
        $(OBJS)\monolib_timercmn.obj \\r
        $(OBJS)\monolib_timerimpl.obj \\r
@@ -706,6 +708,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_tarstrm.obj \\r
        $(OBJS)\basedll_textbuf.obj \\r
        $(OBJS)\basedll_textfile.obj \\r
        $(OBJS)\basedll_tarstrm.obj \\r
        $(OBJS)\basedll_textbuf.obj \\r
        $(OBJS)\basedll_textfile.obj \\r
+       $(OBJS)\basedll_threadinfo.obj \\r
        $(OBJS)\basedll_time.obj \\r
        $(OBJS)\basedll_timercmn.obj \\r
        $(OBJS)\basedll_timerimpl.obj \\r
        $(OBJS)\basedll_time.obj \\r
        $(OBJS)\basedll_timercmn.obj \\r
        $(OBJS)\basedll_timerimpl.obj \\r
@@ -837,6 +840,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_tarstrm.obj \\r
        $(OBJS)\baselib_textbuf.obj \\r
        $(OBJS)\baselib_textfile.obj \\r
        $(OBJS)\baselib_tarstrm.obj \\r
        $(OBJS)\baselib_textbuf.obj \\r
        $(OBJS)\baselib_textfile.obj \\r
+       $(OBJS)\baselib_threadinfo.obj \\r
        $(OBJS)\baselib_time.obj \\r
        $(OBJS)\baselib_timercmn.obj \\r
        $(OBJS)\baselib_timerimpl.obj \\r
        $(OBJS)\baselib_time.obj \\r
        $(OBJS)\baselib_timercmn.obj \\r
        $(OBJS)\baselib_timerimpl.obj \\r
@@ -6431,6 +6435,9 @@ $(OBJS)\monodll_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\monodll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\monodll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\monodll_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\monodll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\monodll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
@@ -8896,6 +8903,9 @@ $(OBJS)\monolib_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\monolib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\monolib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\monolib_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\monolib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\monolib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
@@ -11361,6 +11371,9 @@ $(OBJS)\basedll_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\basedll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\basedll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\basedll_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\basedll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\basedll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
@@ -11700,6 +11713,9 @@ $(OBJS)\baselib_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\baselib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\baselib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\baselib_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\baselib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\baselib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
index 62d4e21b216a3b0b835971e00b1a8d302e275038..850daa077003ed201b9fcd979087fe814764a47c 100644 (file)
@@ -395,6 +395,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_tarstrm.o \\r
        $(OBJS)\monodll_textbuf.o \\r
        $(OBJS)\monodll_textfile.o \\r
        $(OBJS)\monodll_tarstrm.o \\r
        $(OBJS)\monodll_textbuf.o \\r
        $(OBJS)\monodll_textfile.o \\r
+       $(OBJS)\monodll_threadinfo.o \\r
        $(OBJS)\monodll_time.o \\r
        $(OBJS)\monodll_timercmn.o \\r
        $(OBJS)\monodll_timerimpl.o \\r
        $(OBJS)\monodll_time.o \\r
        $(OBJS)\monodll_timercmn.o \\r
        $(OBJS)\monodll_timerimpl.o \\r
@@ -546,6 +547,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_tarstrm.o \\r
        $(OBJS)\monolib_textbuf.o \\r
        $(OBJS)\monolib_textfile.o \\r
        $(OBJS)\monolib_tarstrm.o \\r
        $(OBJS)\monolib_textbuf.o \\r
        $(OBJS)\monolib_textfile.o \\r
+       $(OBJS)\monolib_threadinfo.o \\r
        $(OBJS)\monolib_time.o \\r
        $(OBJS)\monolib_timercmn.o \\r
        $(OBJS)\monolib_timerimpl.o \\r
        $(OBJS)\monolib_time.o \\r
        $(OBJS)\monolib_timercmn.o \\r
        $(OBJS)\monolib_timerimpl.o \\r
@@ -694,6 +696,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_tarstrm.o \\r
        $(OBJS)\basedll_textbuf.o \\r
        $(OBJS)\basedll_textfile.o \\r
        $(OBJS)\basedll_tarstrm.o \\r
        $(OBJS)\basedll_textbuf.o \\r
        $(OBJS)\basedll_textfile.o \\r
+       $(OBJS)\basedll_threadinfo.o \\r
        $(OBJS)\basedll_time.o \\r
        $(OBJS)\basedll_timercmn.o \\r
        $(OBJS)\basedll_timerimpl.o \\r
        $(OBJS)\basedll_time.o \\r
        $(OBJS)\basedll_timercmn.o \\r
        $(OBJS)\basedll_timerimpl.o \\r
@@ -826,6 +829,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_tarstrm.o \\r
        $(OBJS)\baselib_textbuf.o \\r
        $(OBJS)\baselib_textfile.o \\r
        $(OBJS)\baselib_tarstrm.o \\r
        $(OBJS)\baselib_textbuf.o \\r
        $(OBJS)\baselib_textfile.o \\r
+       $(OBJS)\baselib_threadinfo.o \\r
        $(OBJS)\baselib_time.o \\r
        $(OBJS)\baselib_timercmn.o \\r
        $(OBJS)\baselib_timerimpl.o \\r
        $(OBJS)\baselib_time.o \\r
        $(OBJS)\baselib_timercmn.o \\r
        $(OBJS)\baselib_timerimpl.o \\r
@@ -6601,6 +6605,9 @@ $(OBJS)\monodll_textbuf.o: ../../src/common/textbuf.cpp
 $(OBJS)\monodll_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\monodll_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\monodll_threadinfo.o: ../../src/common/threadinfo.cpp\r
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\monodll_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\monodll_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -9066,6 +9073,9 @@ $(OBJS)\monolib_textbuf.o: ../../src/common/textbuf.cpp
 $(OBJS)\monolib_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\monolib_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\monolib_threadinfo.o: ../../src/common/threadinfo.cpp\r
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\monolib_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\monolib_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -11531,6 +11541,9 @@ $(OBJS)\basedll_textbuf.o: ../../src/common/textbuf.cpp
 $(OBJS)\basedll_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\basedll_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\basedll_threadinfo.o: ../../src/common/threadinfo.cpp\r
+       $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\basedll_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\basedll_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -11870,6 +11883,9 @@ $(OBJS)\baselib_textbuf.o: ../../src/common/textbuf.cpp
 $(OBJS)\baselib_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\baselib_textfile.o: ../../src/common/textfile.cpp\r
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\baselib_threadinfo.o: ../../src/common/threadinfo.cpp\r
+       $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<\r
+\r
 $(OBJS)\baselib_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
 $(OBJS)\baselib_time.o: ../../src/common/time.cpp\r
        $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
index 0929c6fafed23f731d6ad943b61405c747d55edd..e16b439743e02357ccd215c415c66957bf04609f 100644 (file)
@@ -426,6 +426,7 @@ MONODLL_OBJECTS =  \
        $(OBJS)\monodll_tarstrm.obj \\r
        $(OBJS)\monodll_textbuf.obj \\r
        $(OBJS)\monodll_textfile.obj \\r
        $(OBJS)\monodll_tarstrm.obj \\r
        $(OBJS)\monodll_textbuf.obj \\r
        $(OBJS)\monodll_textfile.obj \\r
+       $(OBJS)\monodll_threadinfo.obj \\r
        $(OBJS)\monodll_time.obj \\r
        $(OBJS)\monodll_timercmn.obj \\r
        $(OBJS)\monodll_timerimpl.obj \\r
        $(OBJS)\monodll_time.obj \\r
        $(OBJS)\monodll_timercmn.obj \\r
        $(OBJS)\monodll_timerimpl.obj \\r
@@ -586,6 +587,7 @@ MONOLIB_OBJECTS =  \
        $(OBJS)\monolib_tarstrm.obj \\r
        $(OBJS)\monolib_textbuf.obj \\r
        $(OBJS)\monolib_textfile.obj \\r
        $(OBJS)\monolib_tarstrm.obj \\r
        $(OBJS)\monolib_textbuf.obj \\r
        $(OBJS)\monolib_textfile.obj \\r
+       $(OBJS)\monolib_threadinfo.obj \\r
        $(OBJS)\monolib_time.obj \\r
        $(OBJS)\monolib_timercmn.obj \\r
        $(OBJS)\monolib_timerimpl.obj \\r
        $(OBJS)\monolib_time.obj \\r
        $(OBJS)\monolib_timercmn.obj \\r
        $(OBJS)\monolib_timerimpl.obj \\r
@@ -740,6 +742,7 @@ BASEDLL_OBJECTS =  \
        $(OBJS)\basedll_tarstrm.obj \\r
        $(OBJS)\basedll_textbuf.obj \\r
        $(OBJS)\basedll_textfile.obj \\r
        $(OBJS)\basedll_tarstrm.obj \\r
        $(OBJS)\basedll_textbuf.obj \\r
        $(OBJS)\basedll_textfile.obj \\r
+       $(OBJS)\basedll_threadinfo.obj \\r
        $(OBJS)\basedll_time.obj \\r
        $(OBJS)\basedll_timercmn.obj \\r
        $(OBJS)\basedll_timerimpl.obj \\r
        $(OBJS)\basedll_time.obj \\r
        $(OBJS)\basedll_timercmn.obj \\r
        $(OBJS)\basedll_timerimpl.obj \\r
@@ -881,6 +884,7 @@ BASELIB_OBJECTS =  \
        $(OBJS)\baselib_tarstrm.obj \\r
        $(OBJS)\baselib_textbuf.obj \\r
        $(OBJS)\baselib_textfile.obj \\r
        $(OBJS)\baselib_tarstrm.obj \\r
        $(OBJS)\baselib_textbuf.obj \\r
        $(OBJS)\baselib_textfile.obj \\r
+       $(OBJS)\baselib_threadinfo.obj \\r
        $(OBJS)\baselib_time.obj \\r
        $(OBJS)\baselib_timercmn.obj \\r
        $(OBJS)\baselib_timerimpl.obj \\r
        $(OBJS)\baselib_time.obj \\r
        $(OBJS)\baselib_timercmn.obj \\r
        $(OBJS)\baselib_timerimpl.obj \\r
@@ -7116,6 +7120,9 @@ $(OBJS)\monodll_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\monodll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\monodll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\monodll_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\monodll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\monodll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
@@ -9581,6 +9588,9 @@ $(OBJS)\monolib_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\monolib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\monolib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\monolib_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\monolib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\monolib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
@@ -12046,6 +12056,9 @@ $(OBJS)\basedll_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\basedll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\basedll_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\basedll_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\basedll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\basedll_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
@@ -12385,6 +12398,9 @@ $(OBJS)\baselib_textbuf.obj: ..\..\src\common\textbuf.cpp
 $(OBJS)\baselib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
 $(OBJS)\baselib_textfile.obj: ..\..\src\common\textfile.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\textfile.cpp\r
 \r
+$(OBJS)\baselib_threadinfo.obj: ..\..\src\common\threadinfo.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\threadinfo.cpp\r
+\r
 $(OBJS)\baselib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
 $(OBJS)\baselib_time.obj: ..\..\src\common\time.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\time.cpp\r
 \r
index abbe7a9001c94cc9765ab4195ced84a8b5508c37..79603d5a90475c6457bd19fc24438b6e591e3b7c 100644 (file)
@@ -4024,6 +4024,7 @@ MONODLL_OBJECTS =  &
        $(OBJS)\monodll_tarstrm.obj &\r
        $(OBJS)\monodll_textbuf.obj &\r
        $(OBJS)\monodll_textfile.obj &\r
        $(OBJS)\monodll_tarstrm.obj &\r
        $(OBJS)\monodll_textbuf.obj &\r
        $(OBJS)\monodll_textfile.obj &\r
+       $(OBJS)\monodll_threadinfo.obj &\r
        $(OBJS)\monodll_time.obj &\r
        $(OBJS)\monodll_timercmn.obj &\r
        $(OBJS)\monodll_timerimpl.obj &\r
        $(OBJS)\monodll_time.obj &\r
        $(OBJS)\monodll_timercmn.obj &\r
        $(OBJS)\monodll_timerimpl.obj &\r
@@ -4174,6 +4175,7 @@ MONOLIB_OBJECTS =  &
        $(OBJS)\monolib_tarstrm.obj &\r
        $(OBJS)\monolib_textbuf.obj &\r
        $(OBJS)\monolib_textfile.obj &\r
        $(OBJS)\monolib_tarstrm.obj &\r
        $(OBJS)\monolib_textbuf.obj &\r
        $(OBJS)\monolib_textfile.obj &\r
+       $(OBJS)\monolib_threadinfo.obj &\r
        $(OBJS)\monolib_time.obj &\r
        $(OBJS)\monolib_timercmn.obj &\r
        $(OBJS)\monolib_timerimpl.obj &\r
        $(OBJS)\monolib_time.obj &\r
        $(OBJS)\monolib_timercmn.obj &\r
        $(OBJS)\monolib_timerimpl.obj &\r
@@ -4320,6 +4322,7 @@ BASEDLL_OBJECTS =  &
        $(OBJS)\basedll_tarstrm.obj &\r
        $(OBJS)\basedll_textbuf.obj &\r
        $(OBJS)\basedll_textfile.obj &\r
        $(OBJS)\basedll_tarstrm.obj &\r
        $(OBJS)\basedll_textbuf.obj &\r
        $(OBJS)\basedll_textfile.obj &\r
+       $(OBJS)\basedll_threadinfo.obj &\r
        $(OBJS)\basedll_time.obj &\r
        $(OBJS)\basedll_timercmn.obj &\r
        $(OBJS)\basedll_timerimpl.obj &\r
        $(OBJS)\basedll_time.obj &\r
        $(OBJS)\basedll_timercmn.obj &\r
        $(OBJS)\basedll_timerimpl.obj &\r
@@ -4451,6 +4454,7 @@ BASELIB_OBJECTS =  &
        $(OBJS)\baselib_tarstrm.obj &\r
        $(OBJS)\baselib_textbuf.obj &\r
        $(OBJS)\baselib_textfile.obj &\r
        $(OBJS)\baselib_tarstrm.obj &\r
        $(OBJS)\baselib_textbuf.obj &\r
        $(OBJS)\baselib_textfile.obj &\r
+       $(OBJS)\baselib_threadinfo.obj &\r
        $(OBJS)\baselib_time.obj &\r
        $(OBJS)\baselib_timercmn.obj &\r
        $(OBJS)\baselib_timerimpl.obj &\r
        $(OBJS)\baselib_time.obj &\r
        $(OBJS)\baselib_timercmn.obj &\r
        $(OBJS)\baselib_timerimpl.obj &\r
@@ -6874,6 +6878,9 @@ $(OBJS)\monodll_textbuf.obj :  .AUTODEPEND ..\..\src\common\textbuf.cpp
 $(OBJS)\monodll_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 \r
 $(OBJS)\monodll_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 \r
+$(OBJS)\monodll_threadinfo.obj :  .AUTODEPEND ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
+\r
 $(OBJS)\monodll_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 \r
 $(OBJS)\monodll_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 \r
@@ -9339,6 +9346,9 @@ $(OBJS)\monolib_textbuf.obj :  .AUTODEPEND ..\..\src\common\textbuf.cpp
 $(OBJS)\monolib_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 \r
 $(OBJS)\monolib_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 \r
+$(OBJS)\monolib_threadinfo.obj :  .AUTODEPEND ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
+\r
 $(OBJS)\monolib_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 \r
 $(OBJS)\monolib_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 \r
@@ -11804,6 +11814,9 @@ $(OBJS)\basedll_textbuf.obj :  .AUTODEPEND ..\..\src\common\textbuf.cpp
 $(OBJS)\basedll_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<\r
 \r
 $(OBJS)\basedll_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<\r
 \r
+$(OBJS)\basedll_threadinfo.obj :  .AUTODEPEND ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<\r
+\r
 $(OBJS)\basedll_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<\r
 \r
 $(OBJS)\basedll_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<\r
 \r
@@ -12143,6 +12156,9 @@ $(OBJS)\baselib_textbuf.obj :  .AUTODEPEND ..\..\src\common\textbuf.cpp
 $(OBJS)\baselib_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<\r
 \r
 $(OBJS)\baselib_textfile.obj :  .AUTODEPEND ..\..\src\common\textfile.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<\r
 \r
+$(OBJS)\baselib_threadinfo.obj :  .AUTODEPEND ..\..\src\common\threadinfo.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<\r
+\r
 $(OBJS)\baselib_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<\r
 \r
 $(OBJS)\baselib_time.obj :  .AUTODEPEND ..\..\src\common\time.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<\r
 \r
index 9c726265d56aefb963008eecb7431d750673c186..d41e54c1e6199b5c9539d2b7afaffed12e5a8d75 100644 (file)
@@ -427,6 +427,10 @@ SOURCE=..\..\src\common\textfile.cpp
 # End Source File\r
 # Begin Source File\r
 \r
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\src\common\threadinfo.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\src\common\time.cpp\r
 # End Source File\r
 # Begin Source File\r
 SOURCE=..\..\src\common\time.cpp\r
 # End Source File\r
 # Begin Source File\r
index 0f402f52264cb9e473e7aed764912f0fb118c87f..2f86237d43400605db8c753e023385aa49182901 100644 (file)
     <ClCompile Include="..\..\src\common\tarstrm.cpp" />\r
     <ClCompile Include="..\..\src\common\textbuf.cpp" />\r
     <ClCompile Include="..\..\src\common\textfile.cpp" />\r
     <ClCompile Include="..\..\src\common\tarstrm.cpp" />\r
     <ClCompile Include="..\..\src\common\textbuf.cpp" />\r
     <ClCompile Include="..\..\src\common\textfile.cpp" />\r
+    <ClCompile Include="..\..\src\common\threadinfo.cpp" />\r
     <ClCompile Include="..\..\src\common\time.cpp" />\r
     <ClCompile Include="..\..\src\common\timercmn.cpp" />\r
     <ClCompile Include="..\..\src\common\timerimpl.cpp" />\r
     <ClCompile Include="..\..\src\common\time.cpp" />\r
     <ClCompile Include="..\..\src\common\timercmn.cpp" />\r
     <ClCompile Include="..\..\src\common\timerimpl.cpp" />\r
index a0ab314a64d29d58efc59586d2503513ad18c9bb..7dbd959a59e3e86de85c7984c4f6556e3560a2e4 100644 (file)
     <ClCompile Include="..\..\src\generic\fswatcherg.cpp">\r
       <Filter>Generic Sources</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\..\src\generic\fswatcherg.cpp">\r
       <Filter>Generic Sources</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="..\..\src\common\threadinfo.cpp">\r
+      <Filter>Common Sources</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ResourceCompile Include="..\..\src\msw\version.rc">\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ResourceCompile Include="..\..\src\msw\version.rc">\r
index c2045ff11736ebf9786ff3ea44c530919bd3c359..d9fbe1589262495ea9cd82f06b189a641a1bddc0 100644 (file)
                        <File\r
                                RelativePath="..\..\src\common\textfile.cpp">\r
                        </File>\r
                        <File\r
                                RelativePath="..\..\src\common\textfile.cpp">\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\src\common\threadinfo.cpp">\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\src\common\time.cpp">\r
                        </File>\r
                        <File\r
                                RelativePath="..\..\src\common\time.cpp">\r
                        </File>\r
index 94f7fbe5265d346f287f1a6f8015f4b626260e35..2719275fc6b0b5c05a682cd52b7a47a62b98748c 100644 (file)
                                RelativePath="..\..\src\common\textfile.cpp"\r
                                >\r
                        </File>\r
                                RelativePath="..\..\src\common\textfile.cpp"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\src\common\threadinfo.cpp"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\src\common\time.cpp"\r
                                >\r
                        <File\r
                                RelativePath="..\..\src\common\time.cpp"\r
                                >\r
index 0e5583f618dc822c36f2c9e00f8b4a0b496d26a9..29a289a1a33c9b26542cd10a4e05d49fc035d057 100644 (file)
                                RelativePath="..\..\src\common\textfile.cpp"\r
                                >\r
                        </File>\r
                                RelativePath="..\..\src\common\textfile.cpp"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\src\common\threadinfo.cpp"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\src\common\time.cpp"\r
                                >\r
                        <File\r
                                RelativePath="..\..\src\common\time.cpp"\r
                                >\r
index d6d75bb6eec7a774114654ab6a1728e9dacac391..500af5dd9cbf1774a004a60824671ae020fd06ae 100644 (file)
@@ -10,9 +10,7 @@
 #ifndef _WX_PRIVATE_THREADINFO_H_
 #define _WX_PRIVATE_THREADINFO_H_
 
 #ifndef _WX_PRIVATE_THREADINFO_H_
 #define _WX_PRIVATE_THREADINFO_H_
 
-#if wxUSE_THREADS
-
-#include "wx/tls.h"
+#include "wx/defs.h"
 
 class WXDLLIMPEXP_FWD_BASE wxLog;
 
 
 class WXDLLIMPEXP_FWD_BASE wxLog;
 
@@ -20,15 +18,15 @@ class WXDLLIMPEXP_FWD_BASE wxLog;
 // wxThreadSpecificInfo: contains all thread-specific information used by wx
 // ----------------------------------------------------------------------------
 
 // wxThreadSpecificInfo: contains all thread-specific information used by wx
 // ----------------------------------------------------------------------------
 
-// currently the only thread-specific information we use is the active wxLog
-// target but more could be added in the future (e.g. current wxLocale would be
-// a likely candidate) and we will group all of them in this struct to avoid
-// consuming more TLS slots than necessary as there is only a limited number of
-// them
-
-// NB: this must be a POD to be stored in TLS
-struct wxThreadSpecificInfo
+// Group all thread-specific information we use (e.g. the active wxLog target)
+// a in this class to avoid consuming more TLS slots than necessary as there is
+// only a limited number of them.
+class wxThreadSpecificInfo
 {
 {
+public:
+    // Return this thread's instance.
+    static wxThreadSpecificInfo& Get();
+
     // the thread-specific logger or NULL if the thread is using the global one
     // (this is not used for the main thread which always uses the global
     // logger)
     // the thread-specific logger or NULL if the thread is using the global one
     // (this is not used for the main thread which always uses the global
     // logger)
@@ -41,13 +39,12 @@ struct wxThreadSpecificInfo
     //     because the default, for 0-initialized struct, should be to enable
     //     logging
     bool loggingDisabled;
     //     because the default, for 0-initialized struct, should be to enable
     //     logging
     bool loggingDisabled;
-};
 
 
-// currently this is defined in src/common/log.cpp
-extern wxTLS_TYPE(wxThreadSpecificInfo) wxThreadInfoVar;
-#define wxThreadInfo wxTLS_VALUE(wxThreadInfoVar)
+private:
+    wxThreadSpecificInfo() : logger(NULL), loggingDisabled(false) {}
+};
 
 
-#endif // wxUSE_THREADS
+#define wxThreadInfo wxThreadSpecificInfo::Get()
 
 #endif // _WX_PRIVATE_THREADINFO_H_
 
 
 #endif // _WX_PRIVATE_THREADINFO_H_
 
index f74d88d9f80b2f875ce47385d85a54c78f2d56a3..3180f46743c2c80d9c12a16c0fd9d70e490a0521 100644 (file)
@@ -87,8 +87,6 @@ const char *wxLOG_COMPONENT = "";
 
 #if wxUSE_THREADS
 
 
 #if wxUSE_THREADS
 
-wxTLS_TYPE(wxThreadSpecificInfo) wxThreadInfoVar;
-
 namespace
 {
 
 namespace
 {
 
diff --git a/src/common/threadinfo.cpp b/src/common/threadinfo.cpp
new file mode 100644 (file)
index 0000000..d72a8fb
--- /dev/null
@@ -0,0 +1,63 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/common/threadinfo.cpp
+// Purpose:     declaration of wxThreadSpecificInfo: thread-specific information
+// Author:      Vaclav Slavik
+// Created:     2013-09-14
+// Copyright:   (c) 2013 Vaclav Slavik <vslavik@fastmail.fm>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#if defined(__BORLANDC__)
+    #pragma hdrstop
+#endif
+
+#include "wx/private/threadinfo.h"
+
+#if wxUSE_THREADS
+
+#include "wx/tls.h"
+#include "wx/thread.h"
+#include "wx/sharedptr.h"
+#include "wx/vector.h"
+
+namespace
+{
+
+// All thread info objects are stored in a global list so that they are
+// freed when global objects are destroyed and no memory leaks are reported.
+//
+// TODO: This could be made more efficient by freeing g_thisThreadInfo when
+//       wxThread terminates.
+wxCriticalSection g_csAllThreadInfos;
+wxVector< wxSharedPtr<wxThreadSpecificInfo> > g_allThreadInfos;
+
+// Pointer to currenct thread's instance
+wxTLS_TYPE(wxThreadSpecificInfo*) g_thisThreadInfo;
+
+} // anonymous namespace
+
+
+wxThreadSpecificInfo& wxThreadSpecificInfo::Get()
+{
+    if ( !wxTLS_VALUE(g_thisThreadInfo) )
+    {
+        wxTLS_VALUE(g_thisThreadInfo) = new wxThreadSpecificInfo;
+        wxCriticalSectionLocker lock(g_csAllThreadInfos);
+        g_allThreadInfos.push_back(
+                wxSharedPtr<wxThreadSpecificInfo>(wxTLS_VALUE(g_thisThreadInfo)));
+    }
+    return *wxTLS_VALUE(g_thisThreadInfo);
+}
+
+#else // !wxUSE_THREADS
+
+wxThreadSpecificInfo& wxThreadSpecificInfo::Get()
+{
+    static wxThreadSpecificInfo s_instance;
+    return s_instance;
+}
+
+#endif // wxUSE_THREADS/wxUSE_THREADS