[fdo-internals] Code Submission Notification: FDO: Fix Geometry
pool sharing objects between threads
Gavin Cramer
gavin.cramer at autodesk.com
Wed Feb 7 01:40:48 EST 2007
The following change has been committed to the 3.2.x branch ...
Summary:
FDO: Fix Geometry pool sharing objects between threads
Description:
This changes the geometry object pool to not share ownership with
returned
values. Since a caller could access a geometry from a different thread,
the
previous method was not thread-safe. Geometry objects now use the same
method
as pooled FdoByteArray values, which is to only be pooled when otherwise
unused.
FdoByteArray values now have an extra pool. Depending on the order of
object
freeing in client code, some FGF-bearing values were being missed.
Values over
8KB will still not be pooled, in order to avoid longer-than-needed
memory
consumption from pooling large allocations (such as rasters).
Log:
Modified: D:\fdo8\Fdo\Unmanaged\Inc\Geometry\Fgf\Factory.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Common\ArrayHelper.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurvePolygon.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurvePolygon.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurveString.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurveString.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryFactory.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryFactory2.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryImpl.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryThreadData.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LineString.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LineString.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LinearRing.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LinearRing.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurvePolygon.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurvePolygon.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurveString.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurveString.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiGeometry.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiGeometry.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiLineString.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiLineString.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPoint.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPoint.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPolygon.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPolygon.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Point.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Point.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Polygon.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Polygon.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Pool.h
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Util.cpp
Modified: D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Util.h
Gavin Cramer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/fdo-internals/attachments/20070207/faebf743/attachment.html
More information about the fdo-internals
mailing list