Message ID | 20220819184605.19225-1-luiz.dentz@gmail.com |
---|---|
State | New |
Headers | show |
Series | [BlueZ] iso-tester: Fix using shutdown(SHUT_RDWR) | expand |
Hello: This patch was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Fri, 19 Aug 2022 11:46:05 -0700 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > shutdown(SHUT_RDWR) results in socket being HUP immeditaly instead of > waiting for Disconnect Complete event so instead just use SHUT_WR to > start the disconnect procedure without causing the socket to HUP. > --- > tools/iso-tester.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) Here is the summary with links: - [BlueZ] iso-tester: Fix using shutdown(SHUT_RDWR) https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=4999f80c1f56 You are awesome, thank you!
diff --git a/tools/iso-tester.c b/tools/iso-tester.c index e4950ead7c69..5727f3055222 100644 --- a/tools/iso-tester.c +++ b/tools/iso-tester.c @@ -1185,18 +1185,18 @@ static gboolean iso_disconnected(GIOChannel *io, GIOCondition cond, static void iso_shutdown(struct test_data *data, GIOChannel *io) { - int sk, cl; + int sk; sk = g_io_channel_unix_get_fd(io); - cl = dup(sk); data->io_id[0] = g_io_add_watch(io, G_IO_HUP, iso_disconnected, data); - /* Shutdown clone fd so the original fd don't HUP immediately and - * properly wait for socket to be closed. + /* Shutdown using SHUT_WR as SHUT_RDWR cause the socket to HUP + * immediately instead of waiting for Disconnect Complete event. */ - shutdown(cl, SHUT_RDWR); - close(cl); + shutdown(sk, SHUT_WR); + + tester_print("Disconnecting..."); } static gboolean iso_connect(GIOChannel *io, GIOCondition cond,
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> shutdown(SHUT_RDWR) results in socket being HUP immeditaly instead of waiting for Disconnect Complete event so instead just use SHUT_WR to start the disconnect procedure without causing the socket to HUP. --- tools/iso-tester.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)