Calling sd_bus_process with second parameter as sd_bus_message** will put a new message in to that pointer. The man page says that the caller should unref it ,however, I found out that if you do that it will get garbage collected before a callback registed with sd_bus_call_async will get a chance to access it.

Even passing NULL to the second parameter will corrupt callbacks.

Is this documentation issue? Is it correct to refernce the new message with sd_bus_process and when not touch its refrence count until the callback has a chance to access it? Does the callback get a new reference so it should unrefrence it twice?


_______________________________________________
systemd-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to