Opened 18 years ago

Last modified 18 years ago

#65 closed defect

GDAL: Connection RefCount incremented for internal worker objects — at Version 5

Reported by: gregboone Owned by: gregboone
Priority: major Milestone: 3.2.2
Component: GDAL Provider Version: 3.2.2
Severity: 1 Keywords: refcount, addref
Cc: warmerdam External ID:

Description (last modified by gregboone)

When the GDAL provider connection is created and Open() is called, the resulting RefCount should be 1. With the GDAL provider the RefCount is incremented to 3. These additional increments are caused during the Open process as the connection object is passed, via method parameters, to several internal worker objects (including FdoRfpClassData and FdoRfpGeoBandRaster) who in turn call AddRef on the connection. When dealing with internal worker objects, whose lifespan is guaranteed to be the lifespan to the connection, these types of object should only hold soft references to the connection object so that a circular dependency does not occur. The solution to this issue is to not AddRef the connection when storing the connection pointer as class data.

Change History (5)

comment:1 by gregboone, 18 years ago

Status: newassigned

comment:2 by gregboone, 18 years ago

Description: modified (diff)

comment:3 by gregboone, 18 years ago

Description: modified (diff)

comment:4 by gregboone, 18 years ago

Summary: GDAL: Connection RefCount incremented for Internal woker objectsGDAL: Connection RefCount incremented for internal worker objects

comment:5 by gregboone, 18 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.