[Swift-devel] deep field bug
Mihael Hategan
hategan at mcs.anl.gov
Sun Mar 28 23:17:42 CDT 2010
Mike (and possibly others) have been experiencing a bit of a problem
with a certain type of script.
The basic idea is an app returning a complex structure. The example Mike
gave was (irrelevant stuff removed):
type filestruct {
file filefield;
}
app (filestruct fs[]) touchem () { touchem; }
Where fs is mapped properly with a fixed array mapper.
The problem with that is that closedataset (which is called when touchem
is done) only closes fs and fs[*], but not fs[*].filefield. For some
reason the method used internally is closeChildren().
Now, it seems quite obvious that that's bogus and a deep close should
be done instead when returning from an app. Furthermore, I see no need
for closeChildren() to ever be called on its own (other than perhaps by
a deep close). So I'm sending this email to see if anybody (Ben that is)
is of a different opinion.
In the mean-time, for those who want to test a possible solution (and
please run the whole test suite in the process):
http://www.mcs.anl.gov/~hategan/deepfieldbug.diff
(you need to apply it in swift/src/org/griphyn/vdl).
More information about the Swift-devel
mailing list