summary refs log tree commit diff
path: root/src/libstddjb/fd_unlock.c
blob: 0e6ac0e219de0dfaeeca0a6d723d952b9ed90b99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* ISC license. */

#include <fcntl.h>
#include <unistd.h>
#include <errno.h>

#include <skalibs/djbunix.h>

void fd_unlock (int fd)
{
  struct flock fl =
  {
    .l_type = F_UNLCK,
    .l_whence = SEEK_SET,
    .l_start = 0,
    .l_len = 0
  } ;
  int e = errno ;
  fcntl(fd, F_SETLK, &fl) ;
  errno = e ;
}