[reSIProcate] The ThreadIf bug?
Karlsson
boost.regex at gmail.com
Sat Jan 26 07:06:05 CST 2008
I think the Thread::ThreadIf() should be:
ThreadIf::ThreadIf() : mId(0), mShutdown(false), mShutdownMutex(), *
mThread(NULL)
*{
}
Thanks
2008/1/26, Karlsson <boost.regex at gmail.com>:
>
> I saw the ThreadIf in reSIProcate 1.2.2,
>
> ThreadIf::ThreadIf() : mId(0), mShutdown(false), mShutdownMutex()
> {
> }
>
>
> There do not initialize the mThread, so if in this case will get
> application crash:
>
>
> #include <WinSock2.h>
> #include <Windows.h>
> #include <string>
> using namespace std;
>
> #include <rutil/threadif.hxx>
> using namespace resip;
>
> #pragma comment(lib, "ws2_32.lib")
> #pragma comment(lib, "../lib/rutilD.lib")
>
>
>
> class MyThread : public ThreadIf
> {
> public:
> virtual void thread()
> {
> cout << "MyThread::thead()" << endl;
> }
> };
>
> class Test
> {
> public:
>
> void release()
> {
> mMyThread.detach();
> }
>
> protected:
>
> private:
>
> MyThread mMyThread;
> };
>
>
>
> int main()
> {
> Test t;
>
> t.release();
>
> return 0;
> }
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20080126/030ddec7/attachment.htm>
More information about the resiprocate-devel
mailing list