Commit b14a2608 authored by topjohnwu's avatar topjohnwu

Offset pid_set by 1

PID starts at 1, not 0
parent ade1597e
...@@ -289,5 +289,4 @@ void test_proc_monitor() { ...@@ -289,5 +289,4 @@ void test_proc_monitor() {
if (procfp == nullptr && (procfp = opendir("/proc")) == nullptr) if (procfp == nullptr && (procfp = opendir("/proc")) == nullptr)
exit(1); exit(1);
proc_monitor(); proc_monitor();
exit(0);
} }
...@@ -35,7 +35,16 @@ static map<int, vector<string_view>> uid_proc_map; /* uid -> list of process */ ...@@ -35,7 +35,16 @@ static map<int, vector<string_view>> uid_proc_map; /* uid -> list of process */
pthread_mutex_t monitor_lock; pthread_mutex_t monitor_lock;
#define PID_MAX 32768 #define PID_MAX 32768
static bitset<PID_MAX> attaches; /* true if pid is monitored */ struct pid_set {
bitset<PID_MAX>::const_reference operator[](size_t pos) const { return set[pos - 1]; }
bitset<PID_MAX>::reference operator[](size_t pos) { return set[pos - 1]; }
void reset() { set.reset(); }
private:
bitset<PID_MAX> set;
};
// true if pid is monitored
pid_set attaches;
/******** /********
* Utils * Utils
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment