All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bastien Nocera <hadess@hadess.net>
To: BlueZ development <bluez-devel@lists.sourceforge.net>
Subject: Re: [Bluez-devel] [PATCH] client.c cleanup
Date: Wed, 30 Jan 2008 17:31:29 +0000	[thread overview]
Message-ID: <1201714289.2389.227.camel@cookie.hadess.net> (raw)
In-Reply-To: <1201626119.6218.15.camel@violet>


On Tue, 2008-01-29 at 18:01 +0100, Marcel Holtmann wrote:
> Hi Bastien,
> 
> > Some time ago I had problems with client.c's architecture. It would
> > allow me to easily report completed discoveries without causing crashes.
> > 
> > The attached patch moves all the static variables into the main
> > BluetoothClient object, and instead of return a new object when using
> > _new() we return an existing instance of the client.
> > 
> > This makes no changes to the external API for the BluetoothClient, and
> > should work just as well as older versions did.
> 
> patch has been applied. Don't really see the difference, but I am okay
> with doing it this way.
> 
> > A couple of bugs I found in client.c:
> > - launch test-client with a dongle inserted, remove and reinsert the
> > dongle, the bdaddr of the device is not set anymore
> > - launch test-client without a dongle inserted, insert it, the bdaddr is
> > not set and there's no children to the adapter (although there are if
> > inserted when started)

Both of those are a race:
When the AdapterAdded signal is launched in hcid, the address isn't
available yet. It is available when "ModeChanged" has been launched
though.

hcid_dbus_register_device() setups the structures, and launched
AdapterAdded, but the address is only set when hcid_dbus_start_device()
is called (and the ModeChanged signal is launched).

How do you think we should be handling that? I would think we should
make GetAddress fail if the data isn't available yet, or hack around it
in client.c and only setup the adapters when the mode changes.

Cheers


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

  parent reply	other threads:[~2008-01-30 17:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-25  2:22 [Bluez-devel] [PATCH] client.c cleanup Bastien Nocera
2008-01-29 17:01 ` Marcel Holtmann
2008-01-29 17:24   ` Bastien Nocera
2008-01-29 17:35     ` Marcel Holtmann
2008-01-29 18:08       ` Bastien Nocera
2008-01-29 18:14         ` Marcel Holtmann
2008-01-30 17:31   ` Bastien Nocera [this message]
2008-01-31 14:57     ` Bastien Nocera
2008-01-31 17:48       ` Bastien Nocera
2008-02-01 10:46         ` Bastien Nocera
2008-02-01 12:11           ` Bastien Nocera
2008-02-01 12:23             ` Marcel Holtmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1201714289.2389.227.camel@cookie.hadess.net \
    --to=hadess@hadess.net \
    --cc=bluez-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.