Author: faridz
Date: Wed Oct 24 05:22:17 2007
New Revision: 587873
URL: http://svn.apache.org/viewvc?rev=587873&view=rev
Log:
2007-10-24 Travis Vitek <[EMAIL PROTECTED]>
STDCXX-587
* 20.temp.buffer.mt.cpp (test_return_buffer): Set buffer pointer
to 0 after deallocating.
(thr_func): Provide default values for buffers. Deallocate buffers
that remain allocated after thread loop.
Modified:
incubator/stdcxx/branches/4.2.x/tests/utilities/20.temp.buffer.mt.cpp
Modified: incubator/stdcxx/branches/4.2.x/tests/utilities/20.temp.buffer.mt.cpp
URL:
http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/utilities/20.temp.buffer.mt.cpp?rev=587873&r1=587872&r2=587873&view=diff
==============================================================================
--- incubator/stdcxx/branches/4.2.x/tests/utilities/20.temp.buffer.mt.cpp
(original)
+++ incubator/stdcxx/branches/4.2.x/tests/utilities/20.temp.buffer.mt.cpp Wed
Oct 24 05:22:17 2007
@@ -117,6 +117,7 @@
assert (len == buf.second * sizeof (T));
std::return_temporary_buffer<T>(buf.first);
+ buf.first = 0;
}
/**************************************************************************/
@@ -137,10 +138,10 @@
#endif // _RWSTD_INT64_T
- std::pair<_RWSTD_INT8_T*, std::ptrdiff_t> buf0;
- std::pair<_RWSTD_INT16_T*, std::ptrdiff_t> buf1;
- std::pair<_RWSTD_INT32_T*, std::ptrdiff_t> buf2;
- std::pair<Type64*, std::ptrdiff_t> buf3;
+ std::pair<_RWSTD_INT8_T*, std::ptrdiff_t> buf0 (0, 0);
+ std::pair<_RWSTD_INT16_T*, std::ptrdiff_t> buf1 (0, 0);
+ std::pair<_RWSTD_INT32_T*, std::ptrdiff_t> buf2 (0, 0);
+ std::pair<Type64*, std::ptrdiff_t> buf3 (0, 0);
for (unsigned i = 0; i != rw_opt_nloops; ++i) {
@@ -181,6 +182,12 @@
break;
}
}
+
+ // free any buffers that remain allocated
+ if (buf0.first) test_return_buffer (targs, buf0);
+ if (buf1.first) test_return_buffer (targs, buf1);
+ if (buf2.first) test_return_buffer (targs, buf2);
+ if (buf3.first) test_return_buffer (targs, buf3);
return 0;
}