File: filelocks.h

package info (click to toggle)
apt-cacher-ng 2-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 2,032 kB
  • ctags: 1,705
  • sloc: cpp: 16,869; sh: 536; ansic: 404; perl: 377; makefile: 124
file content (27 lines) | stat: -rw-r--r-- 448 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

#ifndef FILELOCKS_H_
#define FILELOCKS_H_

#include <memory>
#include <set>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

namespace acng
{

struct TFileShrinkGuard
{
	static std::unique_ptr<TFileShrinkGuard> Acquire(const struct stat&);
	~TFileShrinkGuard();

private:
	static std::set<std::pair<dev_t,ino_t > > g_mmapLocks;
	decltype(g_mmapLocks)::iterator m_it;
	TFileShrinkGuard() =default;
};

}

#endif /* FILELOCKS_H_ */