[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