FLOCK() is bad in multiuser scenarios. There's no reason to lock a file to do an INSERT INTO. You comment raises the question of how your code generates the primary key.
>Are you saying that with INSERT INTO, I don't need flock()?
>I guess that 'Log file' is inaccurate. It's a list of emails that have a lSent field. If the previous attempt was unsuccessful and it is successful now, I want to update the lSent to .t.
>
>
>PROCEDURE UpdateEmailLog(tcText, tcCustno, tcDisposition)
>
>LOCAL lnSelect, llUpdated
>
>lnSelect = SELECT()
>
>SELECT emails
>
>llUpdated = .F.
>
>DO WHILE !llUpdated
>
> IF FLOCK()
> APPEND BLANK
> REPLACE em_body WITH tcText, ;
> em_datetim WITH DATETIME(), ;
> em_custno WITH tcCustno, ;
> em_disptn WITH tcDisposition
>
> UNLOCK
> llUpdated = .t.
> ENDIF
>
>ENDDO
>
>
>SELECT (lnSelect)
>
>RETURN
>
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer