#include "string-table.h"
#include "string-util.h"
#include "terminal-util.h"
+#include "time-util.h"
#include "user-util.h"
#include "utf8.h"
return 0;
}
-int pid_get_start_time(pid_t pid, uint64_t *ret) {
+int pid_get_start_time(pid_t pid, usec_t *ret) {
_cleanup_free_ char *line = NULL;
const char *p;
int r;
p = strrchr(line, ')');
if (!p)
return -EIO;
-
p++;
unsigned long llu;
if (sscanf(p, " "
- "%*c " /* state */
+ "%*c " /* state */
"%*u " /* ppid */
"%*u " /* pgrp */
"%*u " /* session */
return -EIO;
if (ret)
- *ret = llu;
+ *ret = jiffies_to_usec(llu); /* CLOCK_BOOTTIME */
return 0;
}
-int pidref_get_start_time(const PidRef *pid, uint64_t *ret) {
- uint64_t t;
+int pidref_get_start_time(const PidRef *pid, usec_t *ret) {
+ usec_t t;
int r;
if (!pidref_is_set(pid))
int get_process_root(pid_t pid, char **ret);
int get_process_environ(pid_t pid, char **ret);
int get_process_ppid(pid_t pid, pid_t *ret);
-int pid_get_start_time(pid_t pid, uint64_t *ret);
-int pidref_get_start_time(const PidRef* pid, uint64_t *ret);
+int pid_get_start_time(pid_t pid, usec_t *ret);
+int pidref_get_start_time(const PidRef* pid, usec_t *ret);
int get_process_umask(pid_t pid, mode_t *ret);
int container_get_leader(const char *machine, pid_t *pid);
assert_se(pidref_set_self(&pidref) >= 0);
- uint64_t start_time;
+ usec_t start_time;
assert_se(pidref_get_start_time(&pidref, &start_time) >= 0);
- log_info("our starttime: %" PRIu64, start_time);
+ log_info("our starttime: " USEC_FMT, start_time);
_cleanup_(pidref_done_sigkill_wait) PidRef child = PIDREF_NULL;
assert_se(pidref_safe_fork("(stub)", FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS, &child) >= 0);
- uint64_t start_time2;
+ usec_t start_time2;
assert_se(pidref_get_start_time(&child, &start_time2) >= 0);
- log_info("child starttime: %" PRIu64, start_time2);
+ log_info("child starttime: " USEC_FMT, start_time2);
assert_se(start_time2 >= start_time);
}