summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
AgeCommit message (Collapse)Author
2013-10-21sd-event: EPOLLONESHOT only disables event reporting after an event. The fd ↵David Strauss
is still registered.
2013-10-21bus: allow to specify NULL as an empty string to addKay Sievers
2013-10-18bus: if we hit the end of an array container return 0 as EOF indicator when ↵Lennart Poettering
reading it
2013-10-18bus: automatically flush bus queue when we exit the event loopLennart Poettering
This way, we do not have to call it manually
2013-10-18fsck: port to sd-busTom Gundersen
2013-10-17sd-event: initialize return valueDave Reisner
src/libsystemd-bus/sd-event.c:1597:13: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
2013-10-16bus: fix default exit on idle timeoutLennart Poettering
2013-10-16timedated: use libsystemd-bus instead of libdbus for bus communicationLennart Poettering
Among other things this also adds a few things necessary for the change: - Considerably more powerful error returning APIs in libsystemd-bus - Adapter for connecting an sd_bus to an sd_event - As I reworked the PolicyKit logic to the new library I also made it asynchronous, so that PolicyKit requests of one user cannot block out another user anymore. - We always use the macro names for common bus error. That way it is harder to mistype them since the compiler will notice
2013-10-16bus: return 1 on all calls that send messagesLennart Poettering
This way they are nicer to use from method dispatch callbacks as last call, since method dispatch callbacks expect > 0 return if the message got handled.
2013-10-16bus: make sure sd_bus_get_timeout() returns a 0 timeout of there are already ↵Lennart Poettering
read but not dispatched messages
2013-10-16bus: fix generate introspection XMLLennart Poettering
2013-10-16event: handle arbitrary signals received during epoll gracefullyLennart Poettering
2013-10-16event: properly disarm timers when we don't need them anymoreLennart Poettering
2013-10-16event: fix sd_event_source_set_io_events()Lennart Poettering
2013-10-14Fix misspellings with codespell toolAnatol Pomozov
2013-10-14bus: properly handle if new objects are installed in the node tree while we ↵Lennart Poettering
are dispatching to one
2013-10-14bus: make sure that we always keep a ref to the bus when we dispatch callbacksLennart Poettering
Otherwise the callback might unref the bus we are processing and destroy the object while we are processing it.
2013-10-14bus: use assert_return() for more API callsLennart Poettering
2013-10-14list: make our list macros a bit easier to use by not requring type spec on ↵Lennart Poettering
each invocation We can determine the list entry type via the typeof() gcc construct, and so we should to make the macros much shorter to use.
2013-10-13event: avoid derefencing null pointerZbigniew Jędrzejewski-Szmek
2013-10-13bus: make sure we don't try to malloc 0 bytesZbigniew Jędrzejewski-Szmek
2013-10-13Fix write-only use of a few variablesZbigniew Jędrzejewski-Szmek
Since the invention of read-only memory, write-only memory has been considered deprecated. Where appropriate, either make use of the value, or avoid writing it, to make it clear that it is not used.
2013-10-13bus: fix access to unitialized variable in error pathZbigniew Jędrzejewski-Szmek
src/machine/machined-dbus.c:237:13: warning: Branch condition evaluates to a garbage value if (m) ^
2013-10-13Never call qsort on potentially NULL arraysZbigniew Jędrzejewski-Szmek
This extends 62678ded 'efi: never call qsort on potentially NULL arrays' to all other places where qsort is used and it is not obvious that the count is non-zero.
2013-10-11bus: properly implement logic for generating ↵Lennart Poettering
InterfacesAdded/InterfacesRemoved signals of ObjectManager
2013-10-11bus: in GetManagedObjects() only return each object once.Lennart Poettering
2013-10-11bus: unify code to find parents of an object path withLennart Poettering
2013-10-11bus: properly generate GetAll replyLennart Poettering
2013-10-11bus: add sd_bus_message_append_strv() to easily add a NULL terminated string ↵Lennart Poettering
array to a message
2013-10-11bus: make sure introspection can be generated correctly with NULL method ↵Lennart Poettering
signatures
2013-10-11bus: beef up parameter checking in vtable handlingLennart Poettering
2013-10-11bus: beef up parameter checking of convenience callsLennart Poettering
2013-10-11bus: don't rely on gccisms/c11 in public header files.Lennart Poettering
One day sd-bus.h should become a public header file. We generally try to be conservative in language features we use in public headers (much unlike in private code), hence don't make use of anonymous unions in structs for the vtable definitions.
2013-10-11bus: split up overly long sd-bus.c into three filesLennart Poettering
2013-10-11bus: if a a Set() vtable callback of a writable is left NULL, try to do the ↵Lennart Poettering
right thing automatically
2013-10-11bus: automatically do a NOP reply when a NULL callback is specified for a ↵Lennart Poettering
method in a vtable Also, allow specifiying NULL as signature in vtables equivalent to "" for empty parameter lists.
2013-10-11bus: when NULL is specified as property callback, automatically handle ↵Lennart Poettering
serialization on Get()
2013-10-11bus: make PropertiesChanged emission workLennart Poettering
2013-10-11bus: allow specifying NULL as type string when we want to construct messages ↵Lennart Poettering
with no payload
2013-10-11bus: make GetManagedObjects() workLennart Poettering
2013-10-11event: add apis to query the timestamp of the event currently processedLennart Poettering
2013-10-11event: move all library calls over to new assert_return() macroLennart Poettering
2013-10-11event: add sd_event_source_get_child_pid() call to query the PID of a child ↵Lennart Poettering
event source
2013-10-11event: rename the "mute" field of event sources to "enabled"Lennart Poettering
In addition, the states "UNMUTED" and "MUTED" become "ON" and "OFF". This has the benefit that a possible value of this field is not identical to its name, thus minimizing confusion.
2013-10-11event: implement quit handlersLennart Poettering
Quit handlers are executed when an event loop is terminated via sd_event_request_quit(). They are in a way atexit() handlers that are executed in a well-defined environment, time and thread: from the event loop thread when the event loop finishes.
2013-10-10event: refuse operation if the caller tries to reuse an event loop after a ↵Lennart Poettering
fork()
2013-10-10event: add timer accuracy/coalescing logicLennart Poettering
In order to improve energy consumption we should minimize our wake-ups when handling timers. Hence, for each timer take an accuracy value and schedule the actual wake-up time somewhere between the specified time and the specified timer plus the accuracy. The specified time of timer event sources hence becomes the time the handler is called the *earliest*, and the specified time plus the accuracy the time by which it is called the *latest*, leaving the library the freedom to schedule the wake-up somewhere inbetween. If the accuracy is specified as 0 the default of 250ms will be used. When scheduling timeouts we will now try to elapse them at the same point within each second, across the entire system. We do this by using a fixed perturbation value keyed off the boot id. If this point within a second is not in the acceptable range, we try again with a fixed time within each 250ms time step. If that doesn't work either, we wake up at the last possible time.
2013-10-10bus: fix duplicate comparisonsTero Roponen
Testing for y > x is the same as testing for x < y.
2013-10-10bus: add minimal event loop APILennart Poettering
So far we tried to use epoll directly wherever we needed an event loop. However, that has various shortcomings, such as the inability to handle larger amounts of timers (since each timerfd costs one fd, which is a very limited resource, usually bounded to 1024), and inability to do priorisation between multiple queued events. Let's add a minimal event loop API around epoll that is suitable for implementation of our own daemons and maybe one day can become public API for those who desire it. This loop is part of libsystemd-bus, but may be used independently of it.
2013-10-09bus: fix missing initializationLennart Poettering