https://github.com/Kitware/CMake
Raw File
Tip revision: 1e26c84b96c0ec6887de2cf5e14061ccb83bdbfe authored by Brad King on 01 July 2020, 11:14:26 UTC
CMake 3.18.0-rc3
Tip revision: 1e26c84
lockFile.c
#include <stdio.h>

/* Disable deprecation warning for fopen */
#pragma warning(disable : 4996)

/*if run serially, works fine.
  If run in parallel, someone will attempt to delete
  a locked file, which will fail */
int main(int argc, char** argv)
{
  FILE* file;
  int i;
  const char* fname;
  if (argc >= 2) {
    fname = argv[1];
  } else {
    fname = "lockedFile.txt";
  }
  file = fopen(fname, "w");

  for (i = 0; i < 10000; i++) {
    fprintf(file, "%s", "x");
    fflush(file);
  }
  fclose(file);
  return remove(fname);
}
back to top