Re: [HACKERS] nonblocking lock?
Bruce Momjian <maillist@candle.pha.pa.us>
From: Bruce Momjian <maillist@candle.pha.pa.us>
To: Massimo Dal Zotto <dz@cs.unitn.it>
Cc: Pablo Funes <pablo@cs.brandeis.edu>, PostgreSQL Hackers <hackers@postgreSQL.org>
Date: 1999-06-02T15:33:23Z
Lists: pgsql-hackers
> > Is it possible to do a nonblocking lock? That is, > > I want several clients to execute, > > > > begin > > if table A is locked > > then > > go around doing stuff on other tables > > else > > lock A and do stuff on A > > endif > > > > the problem is, if I use normal lock, then > > after one client has locked and is doing stuff on A > > the other one will block and thus it won't be able > > to go around doing stuff on other tables. Is it > > possible to do a nonblocking lock that will just > > fail if the table is locked already? > > Try with user locks. You can find the code in contrib/userlocks. Yes, this is the proper PostgreSQL solution. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026