You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Martin Ritchie <ri...@apache.org> on 2009/09/03 11:25:12 UTC

Re: svn commit: r810731 - /qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp

Hi Steve,

Would it be good to do a 0.5.1 release of the CPP to include this fix?

Regards

Martin

2009/9/3  <sh...@apache.org>:
> Author: shuston
> Date: Wed Sep  2 23:22:10 2009
> New Revision: 810731
>
> URL: http://svn.apache.org/viewvc?rev=810731&view=rev
> Log:
> Removed TSS variables that tracked I/O counts; not used. Part of fix for QPID-1868
>
> Modified:
>    qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
>
> Modified: qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
> URL: http://svn.apache.org/viewvc/qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp?rev=810731&r1=810730&r2=810731&view=diff
> ==============================================================================
> --- qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp (original)
> +++ qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp Wed Sep  2 23:22:10 2009
> @@ -50,12 +50,15 @@
>  * recorded in each thread is about the same. If this turns out not to be the
>  * case we could rebalance the info occasionally.
>  */
> +#if 0
> +  // These are never used and __declspec(thread) causes accvio on dynamic load
>  QPID_TSS int threadReadTotal = 0;
>  QPID_TSS int threadMaxRead = 0;
>  QPID_TSS int threadReadCount = 0;
>  QPID_TSS int threadWriteTotal = 0;
>  QPID_TSS int threadWriteCount = 0;
>  QPID_TSS int64_t threadMaxReadTimeNs = 2 * 1000000; // start at 2ms
> +#endif
>
>  /*
>  * The function pointers for AcceptEx and ConnectEx need to be looked up
> @@ -642,12 +645,12 @@
>  }
>
>  void AsynchIO::readComplete(AsynchReadResult *result) {
> -    ++threadReadCount;
> +  //    ++threadReadCount;
>     int status = result->getStatus();
>     size_t bytes = result->getTransferred();
>     if (status == 0 && bytes > 0) {
>         bool restartRead = true;     // May not if receiver doesn't want more
> -        threadReadTotal += bytes;
> +        //        threadReadTotal += bytes;
>         if (readCallback)
>             restartRead = readCallback(*this, result->getBuff());
>         if (restartRead)
> @@ -674,10 +677,10 @@
>     size_t bytes = result->getTransferred();
>     AsynchIO::BufferBase *buff = result->getBuff();
>     if (buff != 0) {
> -        ++threadWriteCount;
> +      //        ++threadWriteCount;
>         writeInProgress = false;
>         if (status == 0 && bytes > 0) {
> -            threadWriteTotal += bytes;
> +          //            threadWriteTotal += bytes;
>             if (bytes < result->getRequested()) // Still more to go; resubmit
>                 startWrite(buff);
>             else
>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:commits-subscribe@qpid.apache.org
>
>



-- 
Martin Ritchie

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Re: svn commit: r810731 - /qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp

Posted by Martin Ritchie <ri...@apache.org>.
2009/9/3 Steve Huston <sh...@riverace.com>:
> Hi Martin,
>
>> Would it be good to do a 0.5.1 release of the CPP to include this
> fix?
>
> Not just for this, no, I don't think so. The problem only affects
> users who dynamically load qpid dlls from separate programs. It's been
> fixed on trunk for some time, but I have a customer that needed a
> 0.5-based svn tag for safe keeping.
>
> -Steve

Thats cool, we haven't really done much in the way of releasing point
versions of past releases was hoping we would get in to the habit of
doing so. :)

Martin

>> 2009/9/3  <sh...@apache.org>:
>> > Author: shuston
>> > Date: Wed Sep  2 23:22:10 2009
>> > New Revision: 810731
>> >
>> > URL: http://svn.apache.org/viewvc?rev=810731&view=rev
>> > Log:
>> > Removed TSS variables that tracked I/O counts; not used.
>> Part of fix for QPID-1868
>> >
>> > Modified:
>> >
>> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
>> >
>> > Modified:
>> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
>> > URL:
>> http://svn.apache.org/viewvc/qpid/branches/0.5-release/qpid/cp
>> p/src/qpid/sys/windows/AsynchIO.cpp?rev=810731&r1=810730&r2=81
>> 0731&view=diff
>> >
>> ==============================================================
>> ================
>> > ---
>> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/Asynch
>> IO.cpp (original)
>> > +++
>> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/Asynch
>> IO.cpp Wed Sep  2 23:22:10 2009
>> > @@ -50,12 +50,15 @@
>> >  * recorded in each thread is about the same. If this turns
>> out not to be the
>> >  * case we could rebalance the info occasionally.
>> >  */
>> > +#if 0
>> > +  // These are never used and __declspec(thread) causes
>> accvio on dynamic load
>> >  QPID_TSS int threadReadTotal = 0;
>> >  QPID_TSS int threadMaxRead = 0;
>> >  QPID_TSS int threadReadCount = 0;
>> >  QPID_TSS int threadWriteTotal = 0;
>> >  QPID_TSS int threadWriteCount = 0;
>> >  QPID_TSS int64_t threadMaxReadTimeNs = 2 * 1000000; // start at
> 2ms
>> > +#endif
>> >
>> >  /*
>> >  * The function pointers for AcceptEx and ConnectEx need to
>> be looked up
>> > @@ -642,12 +645,12 @@
>> >  }
>> >
>> >  void AsynchIO::readComplete(AsynchReadResult *result) {
>> > -    ++threadReadCount;
>> > +  //    ++threadReadCount;
>> >     int status = result->getStatus();
>> >     size_t bytes = result->getTransferred();
>> >     if (status == 0 && bytes > 0) {
>> >         bool restartRead = true;     // May not if receiver
>> doesn't want more
>> > -        threadReadTotal += bytes;
>> > +        //        threadReadTotal += bytes;
>> >         if (readCallback)
>> >             restartRead = readCallback(*this, result->getBuff());
>> >         if (restartRead)
>> > @@ -674,10 +677,10 @@
>> >     size_t bytes = result->getTransferred();
>> >     AsynchIO::BufferBase *buff = result->getBuff();
>> >     if (buff != 0) {
>> > -        ++threadWriteCount;
>> > +      //        ++threadWriteCount;
>> >         writeInProgress = false;
>> >         if (status == 0 && bytes > 0) {
>> > -            threadWriteTotal += bytes;
>> > +          //            threadWriteTotal += bytes;
>> >             if (bytes < result->getRequested()) // Still
>> more to go; resubmit
>> >                 startWrite(buff);
>> >             else
>> >
>> >
>> >
>> >
>>
> ---------------------------------------------------------------------
>> > Apache Qpid - AMQP Messaging Implementation
>> > Project:      http://qpid.apache.org
>> > Use/Interact: mailto:commits-subscribe@qpid.apache.org
>> >
>> >
>>
>>
>>
>> --
>> Martin Ritchie
>>
>>
> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>
>



-- 
Martin Ritchie

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


RE: svn commit: r810731 - /qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp

Posted by Steve Huston <sh...@riverace.com>.
Hi Martin,

> Would it be good to do a 0.5.1 release of the CPP to include this
fix?

Not just for this, no, I don't think so. The problem only affects
users who dynamically load qpid dlls from separate programs. It's been
fixed on trunk for some time, but I have a customer that needed a
0.5-based svn tag for safe keeping.

-Steve

> 2009/9/3  <sh...@apache.org>:
> > Author: shuston
> > Date: Wed Sep  2 23:22:10 2009
> > New Revision: 810731
> >
> > URL: http://svn.apache.org/viewvc?rev=810731&view=rev
> > Log:
> > Removed TSS variables that tracked I/O counts; not used. 
> Part of fix for QPID-1868
> >
> > Modified:
> >    
> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
> >
> > Modified: 
> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp
> > URL: 
> http://svn.apache.org/viewvc/qpid/branches/0.5-release/qpid/cp
> p/src/qpid/sys/windows/AsynchIO.cpp?rev=810731&r1=810730&r2=81
> 0731&view=diff
> > 
> ==============================================================
> ================
> > --- 
> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/Asynch
> IO.cpp (original)
> > +++ 
> qpid/branches/0.5-release/qpid/cpp/src/qpid/sys/windows/Asynch
> IO.cpp Wed Sep  2 23:22:10 2009
> > @@ -50,12 +50,15 @@
> >  * recorded in each thread is about the same. If this turns 
> out not to be the
> >  * case we could rebalance the info occasionally.
> >  */
> > +#if 0
> > +  // These are never used and __declspec(thread) causes 
> accvio on dynamic load
> >  QPID_TSS int threadReadTotal = 0;
> >  QPID_TSS int threadMaxRead = 0;
> >  QPID_TSS int threadReadCount = 0;
> >  QPID_TSS int threadWriteTotal = 0;
> >  QPID_TSS int threadWriteCount = 0;
> >  QPID_TSS int64_t threadMaxReadTimeNs = 2 * 1000000; // start at
2ms
> > +#endif
> >
> >  /*
> >  * The function pointers for AcceptEx and ConnectEx need to 
> be looked up
> > @@ -642,12 +645,12 @@
> >  }
> >
> >  void AsynchIO::readComplete(AsynchReadResult *result) {
> > -    ++threadReadCount;
> > +  //    ++threadReadCount;
> >     int status = result->getStatus();
> >     size_t bytes = result->getTransferred();
> >     if (status == 0 && bytes > 0) {
> >         bool restartRead = true;     // May not if receiver 
> doesn't want more
> > -        threadReadTotal += bytes;
> > +        //        threadReadTotal += bytes;
> >         if (readCallback)
> >             restartRead = readCallback(*this, result->getBuff());
> >         if (restartRead)
> > @@ -674,10 +677,10 @@
> >     size_t bytes = result->getTransferred();
> >     AsynchIO::BufferBase *buff = result->getBuff();
> >     if (buff != 0) {
> > -        ++threadWriteCount;
> > +      //        ++threadWriteCount;
> >         writeInProgress = false;
> >         if (status == 0 && bytes > 0) {
> > -            threadWriteTotal += bytes;
> > +          //            threadWriteTotal += bytes;
> >             if (bytes < result->getRequested()) // Still 
> more to go; resubmit
> >                 startWrite(buff);
> >             else
> >
> >
> >
> > 
>
---------------------------------------------------------------------
> > Apache Qpid - AMQP Messaging Implementation
> > Project:      http://qpid.apache.org
> > Use/Interact: mailto:commits-subscribe@qpid.apache.org
> >
> >
> 
> 
> 
> -- 
> Martin Ritchie
> 
>
---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
> 
> 


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org