On 31.12.2004 18:46, Antonio Gallardo wrote:
while (iter.hasNext()) { - Source child = null; - try { - status = remove((Source) iter.next()); - if (status != STATUS_OK) { - return status; - } - } - finally { - if (child != null) { - m_resolver.release(child);
------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^
- } + status = remove((Source) iter.next()); + if (status != STATUS_OK) { + return status; } } }
What about releasing the Source's??
'child' is always = null. The condition never happen to be true. Then it is unnecesary code.
Ah, yes, from the code it does not behave differently than before. But I guess it has been buggy before too. It should probably read:
while (iter.hasNext()) {
Source child = null;
try {
child = (Source) iter.next();
status = remove(child);
if (status != STATUS_OK) {
return status;
}
} finally {
if (child != null) {
m_resolver.release(child);
}
}
}This was what I had in mind when claiming about the missing release of the sources. Maybe somebody else (the original author?) can review it.
Joerg
