<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3020" name=GENERATOR>
<STYLE>@font-face {
        font-family: MS Mincho;
}
@font-face {
        font-family: @MS Mincho;
}
@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: #606420; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: #606420; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=#606420 link=blue>
<DIV></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><FONT face=Arial><FONT
color=#0000ff><FONT size=2><SPAN class=025153219-29012007>T</SPAN>he
following<SPAN class=025153219-29012007> change<SPAN
class=111105822-31012007> has been committed to the 3.2.x
branch </SPAN></SPAN><SPAN
class=025153219-29012007>... </SPAN></FONT></FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=581363720-26012007></SPAN></FONT> </DIV><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff>Summary:<BR>FDO: Fix Geometry pool
sharing objects between threads<SPAN
class=111105822-31012007></SPAN></FONT></SPAN></SPAN></DIV><SPAN
class=581363720-26012007><SPAN class=581363720-26012007><SPAN
class=111105822-31012007></SPAN>
<DIV dir=ltr align=left><BR><FONT color=#0000ff>Description:<SPAN
class=971123706-07022007> </SPAN><SPAN
class=971123706-07022007> </SPAN><BR>This changes the geometry object pool
to not share ownership with returned <BR>values. Since a caller could
access a geometry from a different thread, the <BR>previous method was not
thread-safe. Geometry objects now use the same method <BR>as pooled
FdoByteArray values, which is to only be pooled when otherwise unused.<SPAN
class=971123706-07022007> </SPAN></FONT></DIV>
<DIV><FONT color=#0000ff></FONT> </DIV>
<DIV dir=ltr align=left><FONT color=#0000ff>FdoByteArray values now have an
extra pool. Depending on the order of object <BR>freeing in client code,
some FGF-bearing values were being missed. Values over <BR>8KB will
still not be pooled, in order to avoid longer-than-needed memory <BR>consumption
from pooling large allocations (such as rasters).</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff><SPAN
class=111105822-31012007></SPAN></FONT></SPAN></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><SPAN
class=581363720-26012007><FONT color=#0000ff>Log:<BR>Modified:
D:\fdo8\Fdo\Unmanaged\Inc\Geometry\Fgf\Factory.h<BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Common\ArrayHelper.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurvePolygon.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurvePolygon.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurveString.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\CurveString.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryFactory.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryFactory2.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryImpl.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\GeometryThreadData.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LineString.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LineString.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LinearRing.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\LinearRing.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurvePolygon.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurvePolygon.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurveString.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiCurveString.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiGeometry.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiGeometry.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiLineString.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiLineString.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPoint.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPoint.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPolygon.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\MultiPolygon.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Point.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Point.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Polygon.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Polygon.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Pool.h <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Util.cpp <BR>Modified:
D:\fdo8\Fdo\Unmanaged\Src\Geometry\Fgf\Util.h
<BR></FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><FONT color=#0000ff><SPAN
class=581363720-26012007></SPAN></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><FONT color=#0000ff><SPAN
class=581363720-26012007>Gavin Cramer</SPAN></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=581363720-26012007><FONT color=#0000ff><SPAN
class=581363720-26012007></SPAN></FONT></SPAN> </DIV></SPAN></BODY></HTML>