Skip to content

Instantly share code, notes, and snippets.

@mrvaldes
mrvaldes / advisory_locking.cs
Last active February 16, 2016 22:29
advisory locking example in Mono C#
using Mono.Unix.Native;
using System.IO;
static bool TryLockProcess(string file_to_lock)
{
int pid = Syscall.getpid();
int fd = Syscall.open(file_to_lock, OpenFlags.O_CREAT | OpenFlags.O_RDWR, FilePermissions.DEFFILEMODE);
if (fd > 0) {
// a write (exclusive) lock
Flock wl;