If you have a process that is writing repeatedly (either continually or otherwise), then a second writer will try for a period to get write access, backing off on failure.  If the second writer fails for long enough, it eventually gives up and reports failure.  Doesn't seem to be as likely a problem for commhistory as for contacts (where writes are really slow), but it gives better behaviour all around.