Message104191
If solution 1 is acceptable in the general case, then I think a better fix would look like this:
try:
names = os.listdir(path)
except os.error, err:
onerror(os.listdir, path, sys.exc_info())
return
That is, this is another case in which we can't continue even if onerror returns. However, onerror is free to correct the problem and then call rmtree. (The danger, of course, is infinite recursion, but I don't think it is our responsibility to protect the author of an onerror handler from that potential mistake.)
By analogy to the other place rmtree returns after an onerror call, the above fix does fix a real bug, regardless of the disposition of the feature request, since currently if onerror returns we get a name error. |
|
Date |
User |
Action |
Args |
2010-04-26 01:30:26 | r.david.murray | set | recipients:
+ r.david.murray, tarek, rubenlm |
2010-04-26 01:30:26 | r.david.murray | set | messageid: <1272245426.77.0.988349321449.issue8523@psf.upfronthosting.co.za> |
2010-04-26 01:30:24 | r.david.murray | link | issue8523 messages |
2010-04-26 01:30:24 | r.david.murray | create | |
|