On 05/16/2012 11:55 AM, Travis Vitek wrote:
I approve the change, but with one caveat. The branching policy [1] indicates 
that you should commit your changes directly to the 4.2.x branch. They should 
be merged from 4.2.x to 4.3.x, and then from 4.3.x to trunk.

The test in the issue should be committed with the patch (after
adding the necessary asserts, being renamed to follow the naming
convention for regression tests, i.e., something like
regress/27.basic_ios.stdcxx-1058.cpp, and decorated with the ASF
license header).


It has been a long time since I've worked actively on the stdcxx project, but 
it seems that if seeking feedback on a patch before committing you would send 
something to the list. It seems that trivial changes were committed to the 
appropriate branch without prior review. Unfortunately, the committers page [2] 
indicates that my memory is wrong.

I think the two are subtly inconsistent. At one point, I think we
wanted to commit to trunk first and then merge to branches. That
seems to be the safer way to work. I'm not sure why we set up the
branching policy to commit to the most restrictive branch first.
It might be in the archives. Or we can change it.

Other than that, the stdcxx index page is out of date. It doesn't
reflect that Stefan is both a committer and a PMC member, and it
still lists me as PMC chair. I viewed it as part of my job to
update the page when I chaired the project. But I wouldn't expect
the current chair to do it. So if we want to keep the site up to
date we'll need to decide who should update these things (anyone
with commit permissions can).

Martin


Travis

[1] http://wiki.apache.org/stdcxx/Branching
[2] http://stdcxx.apache.org/index.html#committers


Index: 4.2.x/src/iostore.cpp
===================================================================
--- 4.2.x/src/iostore.cpp       (revision 1055501)
+++ 4.2.x/src/iostore.cpp       (working copy)
@@ -335,8 +335,14 @@
              // delete existing arrays, if any; _C_usr will only be deleted
              // if `rhs' contains no user data (see below)
              operator delete (_C_usr->_C_iarray);
+            _C_usr->_C_iarray = 0;
+            _C_usr->_C_isize = 0;
              operator delete (_C_usr->_C_parray);
+            _C_usr->_C_parray = 0;
+            _C_usr->_C_psize = 0;
              operator delete (_C_usr->_C_cbarray);
+            _C_usr->_C_cbarray = 0;
+            _C_usr->_C_cbsize = 0;
          }
          else if (ia || pa || cba || ptie) {
              // allocation may throw


Reply via email to