summaryrefslogtreecommitdiff
path: root/systemd/pyutil.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-05-08 19:46:49 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-07-05 14:19:20 -0400
commit466a9b7fe1a2eb91d6007c67eeead6484917e64c (patch)
tree9e12af35cb803ad28bd4e78a092b4586d9b8c0ab /systemd/pyutil.c
parent7b3e876ddef01e9f17ef56ea371074be2ee90139 (diff)
downloadpython-systemd-466a9b7fe1a2eb91d6007c67eeead6484917e64c.tar.gz
systemd-python: add wrappers for easy functions in sd-login
sd_get_uids, sd_get_seats, sd_get_sessions, and sd_get_machine_names.
Diffstat (limited to 'systemd/pyutil.c')
-rw-r--r--systemd/pyutil.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/systemd/pyutil.c b/systemd/pyutil.c
index 79065a1..9510acd 100644
--- a/systemd/pyutil.c
+++ b/systemd/pyutil.c
@@ -28,3 +28,19 @@ void cleanup_Py_DECREFp(PyObject **p) {
Py_DECREF(*p);
}
+
+PyObject* absolute_timeout(uint64_t t) {
+ if (t == (uint64_t) -1)
+ return PyLong_FromLong(-1);
+ else {
+ struct timespec ts;
+ uint64_t n;
+ int msec;
+
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000;
+ msec = t > n ? (int) ((t - n + 999) / 1000) : 0;
+
+ return PyLong_FromLong(msec);
+ }
+}