rollbackLock method

Future<void> rollbackLock(
  1. int priorMtimeMs
)

Rewind mtime to pre-acquire after a failed fork.

Implementation

Future<void> rollbackLock(int priorMtimeMs) async {
  try {
    if (priorMtimeMs == 0) {
      await deleteFile(_lockPath);
      return;
    }
    await writeFile(_lockPath, '');
    final t = DateTime.fromMillisecondsSinceEpoch(priorMtimeMs);
    await setMtime(_lockPath, t);
  } catch (e) {
    logDebug('[autoDream] rollback failed: $e');
  }
}