Changes between Version 1 and Version 2 of RFC3


Ignore:
Timestamp:
Oct 16, 2008, 11:53:30 AM (16 years ago)
Author:
aross
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RFC3

    v1 v2  
    1515
    1616== Implementation ==
    17 In order to implement the thread safe API, the current API will be copied and all static variables will be placed into a 'handle.'  This handle will be initialized on the initGeos call.  Once initialized it will be passed to all subsequent GEOS functions, allowing each thread to have it's own copy of the data.  This will not affect the current API as it will be provided in addition to the old API.  In order to prevent  maintenance issues the OLD API will be changed to call the NEW API with a global handle.  The the handle (GEOSContextHandle_t) will be an opaque type to allow exentensions without recompilation being required.  Function names in the new API will be updated with an _r, as is the familiar C standard for reentrant/thread safe versions.  Current GEOS functions that do no make reference to the context handle will not be changed.
     17In order to implement the thread safe API, the current API will be copied and all static variables will be placed into a 'handle.'  This handle will be initialized on the initGeos call.  Once initialized it will be passed to all subsequent GEOS functions, allowing each thread to have it's own copy of the data.  This will not affect the current API as it will be provided in addition to the old API.  In order to prevent  maintenance issues the OLD API will be changed to call the NEW API with a global handle.  The handle (GEOSContextHandle_t) will be an opaque type to allow exentensions without recompilation being required.  Function names in the new API will be updated with an _r, as is the familiar C standard for reentrant/thread safe versions.  Current GEOS functions that do not make reference to the context handle will not be changed.
    1818
    1919== Limitations ==