[reSIProcate] Maybe there have a bug with 1.3 RC1

Karlsson boost.regex at gmail.com
Sat Mar 29 22:05:38 CDT 2008


Hi Alan, I'm sure, I use SVN to got all 1.3.0 source code to a new
directory: reSIProcate13. The older reSIProcate in another directory:
resiprocate122.
I have complied the 1.3.0 RC1 completely, and My application linked these
new header files and LIBs, I complied all reSIProcate module as MTd and MT .


I think the new ThreadIf waitforShutdown() function have a problem ? I'm not
sure, because 1.3.0 RC1 ThreadIf::waitForShutdown() never waing anytime if
we called shutdown() first, there are my test source code:


#include <WinSock2.h>
#include <Windows.h>
#include <string>
#include <iostream>

using namespace std;


#include <rutil/ThreadIf.hxx>

using namespace resip;


#ifdef _DEBUG
#pragma comment(lib, "../lib/RutilD.lib")
#else
#pragma comment(lib, "../lib/Rutil.lib")
#endif

#pragma comment(lib, "ws2_32.lib")


class MyThread : public ThreadIf
{

public:
 void thread()
 {
  while(isShutdown() == false)
  {
   Sleep(20000);
   cout << "Exit....";
  }
 }

};


int main()
{
 MyThread myThread;
 myThread.run();

 Sleep(100);

 myThread.shutdown();
 myThread.waitForShutdown(50000);  -> It returned immediately, nevery
waiting....

 myThread.detach();  -> Now the thread still active, so sometimes will
be raise crarsh error ?
 cout << "After detach." << endl;


 return 0;
}


2008/3/30, Alan Hawrylyshen <alan at polyphase.ca>:
>
>
> On 29-Mar-08, at 13:11 , Karlsson wrote:
>
> > I think the new ThreadIf class has problem. When I copy the ThreadIf
> > files of 1.2.2 to replaced the 1.3.0 RC1, then all are working fine.
> >
> >
>
> Hi Karlsson;
>
> I just want to ask one clarifying question:
>
> Does the problem happen when you use 1.3 RC 1 and build from a
> completely clean copy of your source?
> This implies recompiling ALL your application and ANY libraries that
> depend on reSIProcate in any way.
> Because we do not have ABI protection in our shared libraries, it is
> possible that you are suffering from stale code generation that is
> using an older ABI.
>
> One side effect of this is that you cannot use shared libraries from
> one version of reSIProcate to the next.
>
> It is highly recommended that you completely recompile your
> application in whole if you swap resiprocate versions.
>
> Please let us know if this affects your experiences at all.
>
> Best wishes,
>
> Alan Hawrylyshen
> reSIProcate guy-at-large
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20080330/d94b7e51/attachment.htm>


More information about the resiprocate-devel mailing list