1- $Header: /cvsroot/pgsql/src/backend/storage/lmgr/README,v 1.9 2001/09/29 04:02:24 tgl Exp $
1+ $Header: /cvsroot/pgsql/src/backend/storage/lmgr/README,v 1.10 2002/04/15 23:46:13 momjian Exp $
22
33
44LOCKING OVERVIEW
@@ -93,7 +93,7 @@ grantMask -
9393 This bitmask indicates what types of locks are currently held on the
9494 given lockable object. It is used (against the lock table's conflict
9595 table) to determine if a new lock request will conflict with existing
96- lock types held.Conficts are determined by bitwise AND operations
96+ lock types held.Conflicts are determined by bitwise AND operations
9797 between the grantMask and the conflict table entry for the requested
9898 lock type. Bit i of grantMask is 1 if and only if granted[i] > 0.
9999
@@ -268,7 +268,7 @@ Postgres' situation is a little more complex than the standard discussion
268268of deadlock detection, for two reasons:
269269
2702701. A process can be waiting for more than one other process, since there
271- might be multiple holders of (nonconflicting ) lock types that all conflict
271+ might be multiple holders of (non-conflicting ) lock types that all conflict
272272with the waiter's request. This creates no real difficulty however; we
273273simply need to be prepared to trace more than one outgoing edge.
274274
@@ -292,7 +292,7 @@ algorithm.
292292
293293The workhorse of the deadlock detector is a routine FindLockCycle() which
294294is given a starting point process (which must be a waiting process).
295- It recursively scansoutwards across waits-for edges as discussed above.
295+ It recursively scansoutward across waits-for edges as discussed above.
296296If it finds no cycle involving the start point, it returns "false".
297297(As discussed above, we can ignore cycles not involving the start point.)
298298When such a cycle is found, FindLockCycle() returns "true", and as it
@@ -315,7 +315,7 @@ We build a proposed new queue order by doing a "topological sort" of the
315315existing entries. Each soft edge that we are currently considering
316316reversing creates a property of the partial order that the topological sort
317317has to enforce. We must use a sort method that preserves the input
318- ordering as much as possible, so as not togratuituously break arrival
318+ ordering as much as possible, so as not togratuitously break arrival
319319order for processes not involved in a deadlock. (This is not true of the
320320tsort method shown in Knuth, for example, but it's easily done by a simple
321321doubly-nested-loop method that emits the first legal candidate at each
@@ -406,7 +406,7 @@ implementation, BTW). Therefore, if ProcLockWakeup is always invoked
406406after a lock is released or a wait queue is rearranged, there can be no
407407failure to wake a wakable process. One should also note that
408408LockWaitCancel (abort a waiter due to outside factors) must run
409- ProcLockWakeup, in case thecancelled waiter was soft-blocking other
409+ ProcLockWakeup, in case thecanceled waiter was soft-blocking other
410410waiters.
411411
4124124. We can minimize excess rearrangement-trial work by being careful to scan