Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH] shared/io-glib: Fix not calling destroy callback
@ 2014-11-24 22:35 Szymon Janc
  2014-11-25 11:13 ` Lukasz Rymanowski
  2014-11-26  8:08 ` Johan Hedberg
  0 siblings, 2 replies; 3+ messages in thread
From: Szymon Janc @ 2014-11-24 22:35 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Szymon Janc

Destroy callback should be called also for G_IO_ERR | G_IO_NVAL
condition.
---
 src/shared/io-glib.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/shared/io-glib.c b/src/shared/io-glib.c
index af2ba4e..e9578e1 100644
--- a/src/shared/io-glib.c
+++ b/src/shared/io-glib.c
@@ -159,9 +159,11 @@ static gboolean watch_callback(GIOChannel *channel, GIOCondition cond,
 							gpointer user_data)
 {
 	struct io_watch *watch = user_data;
-	bool result;
+	bool result, destroy;
 
-	if (cond & (G_IO_ERR | G_IO_NVAL))
+	destroy = watch == watch->io->disconnect_watch;
+
+	if (!destroy && (cond & (G_IO_ERR | G_IO_NVAL)))
 		return FALSE;
 
 	if (watch->callback)
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-26  8:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-24 22:35 [PATCH] shared/io-glib: Fix not calling destroy callback Szymon Janc
2014-11-25 11:13 ` Lukasz Rymanowski
2014-11-26  8:08 ` Johan Hedberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox