Re: BUG #18331: Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released during process exit? - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #18331: Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released during process exit?
Date
Msg-id 123077.1707149052@sss.pgh.pa.us
Whole thread Raw
In response to BUG #18331: Why is the session lock (DEFAULT_LOCKMETHOD) not automatically released during process exit?  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> The comment for the function LockRelationIdForSession mentions “It will be
> removed  when UnlockRelationIdForSession() is called, or if an
> ereport(ERROR) occurs,  or if the backend exits.”
> However, the callback function ShutdownPostgres, which is triggered during
> process exit, only cleans up locks of type USER_LOCKMETHOD. Is it possible
> to automatically clean up session locks of type DEFAULT_LOCKMETHOD?

I think you are looking in the wrong place.  Normal locks are released
in the transaction-ending code.  We need the special case in
ShutdownPostgres because that's not true for user locks.

            regards, tom lane



pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #18312: libpq: PQsetdbLogin() not thread-safe
Next
From: Marcelo Marques
Date:
Subject: Re: BUG #18328: yum update nothing provides libarmadillo.so.12()(64bit) needed by gdal36-libs-3.6.4-6PGDG.rhel9.x86