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