diff options
Diffstat (limited to 'src/interfaces/libpgtcl/pgtclCmds.c')
-rw-r--r-- | src/interfaces/libpgtcl/pgtclCmds.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/interfaces/libpgtcl/pgtclCmds.c b/src/interfaces/libpgtcl/pgtclCmds.c index 24f04567078..4b047b1b6e5 100644 --- a/src/interfaces/libpgtcl/pgtclCmds.c +++ b/src/interfaces/libpgtcl/pgtclCmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.62 2002/06/20 20:29:53 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.63 2002/08/17 12:19:31 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -419,8 +419,11 @@ Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[]) #if TCL_MAJOR_VERSION >= 8 conn = PgGetConnectionId(interp, argv[1], &connid); - if (connid->notifier_channel != NULL) + if (connid->notifier_channel != NULL) { + /* stop listening for NOTIFY events on that channel */ + PgStopNotifyEventSource(connid,1); Tcl_UnregisterChannel(interp, connid->notifier_channel); + } #endif return Tcl_UnregisterChannel(interp, conn_chan); |