fix use of deprecated items
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
18c0df4c92
commit
619495b25e
@ -5,6 +5,8 @@ use chrono::Local;
|
|||||||
|
|
||||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|
||||||
|
use proxmox::sys::linux::procfs;
|
||||||
|
|
||||||
/// Unique Process/Task Identifier
|
/// Unique Process/Task Identifier
|
||||||
///
|
///
|
||||||
/// We use this to uniquely identify worker task. UPIDs have a short
|
/// We use this to uniquely identify worker task. UPIDs have a short
|
||||||
@ -60,7 +62,7 @@ impl UPID {
|
|||||||
|
|
||||||
Ok(UPID {
|
Ok(UPID {
|
||||||
pid,
|
pid,
|
||||||
pstart: proxmox::sys::linux::procfs::read_proc_starttime(pid)?,
|
pstart: procfs::PidStat::read_for_pid(nix::unistd::Pid::from_raw(pid))?.starttime,
|
||||||
starttime: Local::now().timestamp(),
|
starttime: Local::now().timestamp(),
|
||||||
task_id,
|
task_id,
|
||||||
worker_type: worker_type.to_owned(),
|
worker_type: worker_type.to_owned(),
|
||||||
|
@ -9,9 +9,11 @@ use chrono::Local;
|
|||||||
use failure::*;
|
use failure::*;
|
||||||
use futures::*;
|
use futures::*;
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
|
use nix::unistd::Pid;
|
||||||
use serde_json::{json, Value};
|
use serde_json::{json, Value};
|
||||||
use tokio::sync::oneshot;
|
use tokio::sync::oneshot;
|
||||||
|
|
||||||
|
use proxmox::sys::linux::procfs;
|
||||||
use proxmox::tools::{
|
use proxmox::tools::{
|
||||||
try_block,
|
try_block,
|
||||||
fs::{create_path, replace_file, CreateOptions},
|
fs::{create_path, replace_file, CreateOptions},
|
||||||
@ -35,7 +37,9 @@ lazy_static! {
|
|||||||
static ref WORKER_TASK_LIST: Mutex<HashMap<usize, Arc<WorkerTask>>> = Mutex::new(HashMap::new());
|
static ref WORKER_TASK_LIST: Mutex<HashMap<usize, Arc<WorkerTask>>> = Mutex::new(HashMap::new());
|
||||||
|
|
||||||
static ref MY_PID: i32 = unsafe { libc::getpid() };
|
static ref MY_PID: i32 = unsafe { libc::getpid() };
|
||||||
static ref MY_PID_PSTART: u64 = proxmox::sys::linux::procfs::read_proc_pid_stat(*MY_PID).unwrap().starttime;
|
static ref MY_PID_PSTART: u64 = procfs::PidStat::read_for_pid(Pid::from_raw(*MY_PID))
|
||||||
|
.unwrap()
|
||||||
|
.starttime;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Test if the task is still running
|
/// Test if the task is still running
|
||||||
@ -44,7 +48,6 @@ pub fn worker_is_active(upid: &UPID) -> bool {
|
|||||||
if (upid.pid == *MY_PID) && (upid.pstart == *MY_PID_PSTART) {
|
if (upid.pid == *MY_PID) && (upid.pstart == *MY_PID_PSTART) {
|
||||||
WORKER_TASK_LIST.lock().unwrap().contains_key(&upid.task_id)
|
WORKER_TASK_LIST.lock().unwrap().contains_key(&upid.task_id)
|
||||||
} else {
|
} else {
|
||||||
use proxmox::sys::linux::procfs;
|
|
||||||
procfs::check_process_running_pstart(upid.pid, upid.pstart).is_some()
|
procfs::check_process_running_pstart(upid.pid, upid.pstart).is_some()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user