In a message dated 10/29/2004 2:24:37 PM Pacific Daylight Time, 
[EMAIL PROTECTED] writes:

> READU R.XBWU FROM F.XBWU, X.ONE.ID LOCKED
>   CRT 'XBWU RECORD IS LOCKED, IGNORE IT'
> END THEN
>   X.LOCKED = '1'
> END ;*END READU
> 
> IF X.LOCKED = '1' THEN
>   CRT 'OBTAINED LOCK ON XBWU RECORD'
>   R.XBWU<XBWU.ASURITE> = X.ASURITE
>   WRITE R.XBWU TO F.XBWU, X.ONE.ID ON ERROR
>    IF STATUS() = 10 THEN 
>      ;* Either the ASURITE or USER.ID is duplicated
>      X.ERROR = X.DUPLICATE.ON.WRITE
>    END ;* IF STATUS
>   END ;* END WRITE
> END ;* IF X.LOCKED

Wendy, in the ELSE situation you are leaving a lock.
When a record does NOT exist and you READU it, you still set a lock.  Since 
your WRITE only happens with collusion with the THEN, then a loop on the above 
code, in a situation where some records may not exist will gradually fill your 
lock table.
Will
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to