Hi, All
In the sd-bus.c, there are four conditions for calling the
bus_enter_closing, as is:
if (r == -ENOTCONN || r == -ECONNRESET || r == -EPIPE
|| r == -ESHUTDOWN) {
bus_enter_closing(bus);
return -ECONNRESET;
}
While working with kdbus in the kernel, the kdbus return -EPIPE to
the remote connection while the local connection dies, and sometimes the kdbus
also return -ECONNRESET when the local connection dies.
Thus, it seems unreasonable for the remote connection to enter
BUS_CLOSING state when it gets -EPIPE or sometimes -ECONNRESET.
If you agree with the above issues, which is the better choice, to
modify the conditions in the sd-bus.c , or to modify the errno in the kdbus
kernel?
Because the kdbus kernel always return -EPIPE to the remote connection
, so it is reasonable to remove the EPIPE from the sd-bus.c ?
And becasue the kdbus kernel sometimes returen -ECONNRESET to the remote
connection when the local connection dies, so it is reasonable to give a new
errno for this case? such as EPERM or EHOSTUNREACH..
B.R.
Li Cheng
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel