Hi Paolo, this fixes an issue that if I call release and the finalizer will be run afterwards that GSt crashes in a double free inside the PQclear call.
>From d48cb22e2e470a9d1fd0f05ce0acb20c5cdc0ff3 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther <[email protected]> Date: Mon, 11 Apr 2011 10:04:17 +0200 Subject: [PATCH] dbd-postgresql: Handle multiple calls to primClear Calling ResultSet>>#release will invoke PQclear and remove the object from the list of finalizers but the finalizer might still be executed. 2011-04-11 Holger Hans Peter Freyther <[email protected]> * ResultSet.st: Handle multiple calls to primClear. --- packages/dbd-postgresql/ChangeLog | 4 ++++ packages/dbd-postgresql/ResultSet.st | 4 +++- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/packages/dbd-postgresql/ChangeLog b/packages/dbd-postgresql/ChangeLog index ae06313..9b02b33 100644 --- a/packages/dbd-postgresql/ChangeLog +++ b/packages/dbd-postgresql/ChangeLog @@ -1,3 +1,7 @@ +2011-04-11 Holger Hans Peter Freyther <[email protected]> + + * ResultSet.st: Handle multiple calls to primClear. + 2011-04-09 Paolo Bonzini <[email protected]> * Statement.st: Move field conversion here... diff --git a/packages/dbd-postgresql/ResultSet.st b/packages/dbd-postgresql/ResultSet.st index a8432d5..827bec8 100644 --- a/packages/dbd-postgresql/ResultSet.st +++ b/packages/dbd-postgresql/ResultSet.st @@ -236,7 +236,9 @@ ResultSet subclass: PGResultSet [ primClear [ <category: 'PG specific'> - handle clear + handle ifNotNil: [ + handle clear. + handle := nil] ] release [ -- 1.7.4.2
_______________________________________________ help-smalltalk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-smalltalk
