diff options
author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2007-06-11 23:26:24 +0000 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2007-06-11 23:26:24 +0000 |
commit | ddf8edc54d666f9b6f75f28b6db5375e2f0982a8 (patch) | |
tree | bad9fa1f3bfc769d89ad4b91b49fd3e5968f7190 /audio/headset.c | |
parent | 1ec7d98bba8eaf18c7024123d7b9196f4bf7aefc (diff) |
Fix file descriptor passing.
Diffstat (limited to 'audio/headset.c')
-rw-r--r-- | audio/headset.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/audio/headset.c b/audio/headset.c index ae7a32cc..2d398324 100644 --- a/audio/headset.c +++ b/audio/headset.c @@ -421,6 +421,7 @@ static gboolean sco_connect_cb(GIOChannel *chan, GIOCondition cond, debug("SCO socket opened for headset %s", device->object_path); + info("SCO fd=%d", sk); hs->sco = chan; hs->pending_connect->io = NULL; @@ -435,6 +436,8 @@ static gboolean sco_connect_cb(GIOChannel *chan, GIOCondition cond, pending_connect_free(hs->pending_connect); hs->pending_connect = NULL; + fcntl(sk, F_SETFL, 0); + hs->state = HEADSET_STATE_PLAYING; dbus_connection_emit_signal(connection, device->object_path, AUDIO_HEADSET_INTERFACE, @@ -1436,7 +1439,7 @@ static DBusHandlerResult hs_play(DBusConnection *conn, DBusMessage *msg, } debug("SCO connect in progress"); - g_io_add_watch(c->io, G_IO_OUT | G_IO_NVAL, + g_io_add_watch(c->io, G_IO_OUT | G_IO_NVAL | G_IO_ERR | G_IO_HUP, (GIOFunc) sco_connect_cb, device); } else { debug("SCO connect succeeded with first try"); |