forked from facebook/watchman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreap.cpp
39 lines (30 loc) · 965 Bytes
/
reap.cpp
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
28
29
30
31
32
33
34
35
36
37
38
39
/* Copyright 2012-present Facebook, Inc.
* Licensed under the Apache License, Version 2.0 */
#include "watchman.h"
bool watchman_root::considerReap() const {
time_t now;
if (idle_reap_age == 0) {
return false;
}
time(&now);
if (now > inner.last_cmd_timestamp + idle_reap_age &&
(triggers.rlock()->empty()) && (now > inner.last_reap_timestamp) &&
!unilateralResponses->hasSubscribers()) {
// We haven't had any activity in a while, and there are no registered
// triggers or subscriptions against this watch.
watchman::log(
watchman::ERR,
"root ",
root_path,
" has had no activity in ",
idle_reap_age,
" seconds and has no triggers or subscriptions, cancelling watch. "
"Set idle_reap_age_seconds in your .watchmanconfig to control this "
"behavior\n");
return true;
}
inner.last_reap_timestamp = now;
return false;
}
/* vim:ts=2:sw=2:et:
*/