diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-05-08 19:46:49 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2015-07-05 14:19:20 -0400 |
commit | 466a9b7fe1a2eb91d6007c67eeead6484917e64c (patch) | |
tree | 9e12af35cb803ad28bd4e78a092b4586d9b8c0ab /systemd/pyutil.c | |
parent | 7b3e876ddef01e9f17ef56ea371074be2ee90139 (diff) | |
download | python-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.c | 16 |
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); + } +} |