X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsd-login.xml;h=acb78ac6896f63eac701f0ac121228b3d8f90e2f;hb=a882169a168bef88eb5cc3a9a5437e6e3518260f;hp=9926d2b85cfd85df91bebb2384d233754fc6c8da;hpb=595aae376fae21f885ec9af2cac1aaf3ff3e9bee;p=elogind.git diff --git a/man/sd-login.xml b/man/sd-login.xml index 9926d2b85..acb78ac68 100644 --- a/man/sd-login.xml +++ b/man/sd-login.xml @@ -8,16 +8,16 @@ Copyright 2010 Lennart Poettering systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see . --> @@ -77,13 +77,23 @@ you need to utilize the D-Bus API of systemd-logind, instead. - These functions access data in + These functions synchronously access data in /proc, /sys/fs/cgroup and /run. All of these are virtual file systems, hence the runtime cost of the accesses is relatively cheap. + It is possible (and often a very good choice) to + mix calls to the synchronous interface of + sd-login.h with the asynchronous + D-Bus interface of systemd-logind. However, if this is + done you need to think a bit about possible races + since the stream of events from D-Bus and from + sd-login.h interfaces such as the + login monitor are asynchronous and not ordered against + each other. + If the functions return string arrays, these are generally NULL terminated and need to be freed by the caller with the libc