bluetooth: Remove pa_bluetooth_discovery_sync().

pa_bluetooth_discovery_sync() waited until all pending method calls
had completed. I don't understand what the benefit of that could be,
so I removed the function. We should avoid blocking as much as
possible, and the code that used pa_bluetooth_discovery_sync() didn't
look like it really needed to wait for anything.
This commit is contained in:
Tanu Kaskinen 2012-12-17 09:01:03 +02:00
parent de73a3ed98
commit baa62fb615
3 changed files with 4 additions and 26 deletions

View file

@ -1049,9 +1049,6 @@ pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_discover
pa_assert(PA_REFCNT_VALUE(y) > 0); pa_assert(PA_REFCNT_VALUE(y) > 0);
pa_assert(address); pa_assert(address);
if (!pa_hook_is_firing(&y->hooks[PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED]))
pa_bluetooth_discovery_sync(y);
while ((d = pa_hashmap_iterate(y->devices, &state, NULL))) while ((d = pa_hashmap_iterate(y->devices, &state, NULL)))
if (pa_streq(d->address, address)) if (pa_streq(d->address, address))
return device_is_audio_ready(d) ? d : NULL; return device_is_audio_ready(d) ? d : NULL;
@ -1066,9 +1063,6 @@ pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *
pa_assert(PA_REFCNT_VALUE(y) > 0); pa_assert(PA_REFCNT_VALUE(y) > 0);
pa_assert(path); pa_assert(path);
if (!pa_hook_is_firing(&y->hooks[PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED]))
pa_bluetooth_discovery_sync(y);
if ((d = pa_hashmap_get(y->devices, path))) if ((d = pa_hashmap_get(y->devices, path)))
if (device_is_audio_ready(d)) if (device_is_audio_ready(d))
return d; return d;
@ -1764,13 +1758,6 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
pa_xfree(y); pa_xfree(y);
} }
void pa_bluetooth_discovery_sync(pa_bluetooth_discovery *y) {
pa_assert(y);
pa_assert(PA_REFCNT_VALUE(y) > 0);
pa_dbus_sync_pending_list(&y->pending);
}
pa_hook* pa_bluetooth_discovery_hook(pa_bluetooth_discovery *y, pa_bluetooth_hook_t hook) { pa_hook* pa_bluetooth_discovery_hook(pa_bluetooth_discovery *y, pa_bluetooth_hook_t hook) {
pa_assert(y); pa_assert(y);
pa_assert(PA_REFCNT_VALUE(y) > 0); pa_assert(PA_REFCNT_VALUE(y) > 0);

View file

@ -141,8 +141,6 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *core);
pa_bluetooth_discovery* pa_bluetooth_discovery_ref(pa_bluetooth_discovery *y); pa_bluetooth_discovery* pa_bluetooth_discovery_ref(pa_bluetooth_discovery *y);
void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *d); void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *d);
void pa_bluetooth_discovery_sync(pa_bluetooth_discovery *d);
pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *d, const char* path); pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *d, const char* path);
pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_discovery *d, const char* address); pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_discovery *d, const char* address);

View file

@ -40,15 +40,14 @@
PA_MODULE_AUTHOR("Joao Paulo Rechi Vita"); PA_MODULE_AUTHOR("Joao Paulo Rechi Vita");
PA_MODULE_DESCRIPTION("Detect available bluetooth audio devices and load bluetooth audio drivers"); PA_MODULE_DESCRIPTION("Detect available bluetooth audio devices and load bluetooth audio drivers");
PA_MODULE_VERSION(PACKAGE_VERSION); PA_MODULE_VERSION(PACKAGE_VERSION);
PA_MODULE_USAGE("async=<Asynchronous initialization?> " PA_MODULE_USAGE("sco_sink=<name of sink> "
"sco_sink=<name of sink> "
"sco_source=<name of source> "); "sco_source=<name of source> ");
PA_MODULE_LOAD_ONCE(TRUE); PA_MODULE_LOAD_ONCE(TRUE);
static const char* const valid_modargs[] = { static const char* const valid_modargs[] = {
"sco_sink", "sco_sink",
"sco_source", "sco_source",
"async", "async", /* deprecated */
NULL NULL
}; };
@ -128,7 +127,6 @@ static pa_hook_result_t load_module_for_device(pa_bluetooth_discovery *y, const
int pa__init(pa_module* m) { int pa__init(pa_module* m) {
struct userdata *u; struct userdata *u;
pa_modargs *ma = NULL; pa_modargs *ma = NULL;
pa_bool_t async = FALSE;
pa_assert(m); pa_assert(m);
@ -137,10 +135,8 @@ int pa__init(pa_module* m) {
goto fail; goto fail;
} }
if (pa_modargs_get_value_boolean(ma, "async", &async) < 0) { if (pa_modargs_get_value(ma, "async", NULL))
pa_log("Failed to parse async argument."); pa_log_warn("The 'async' argument is deprecated and does nothing.");
goto fail;
}
m->userdata = u = pa_xnew0(struct userdata, 1); m->userdata = u = pa_xnew0(struct userdata, 1);
u->module = m; u->module = m;
@ -155,9 +151,6 @@ int pa__init(pa_module* m) {
u->slot = pa_hook_connect(pa_bluetooth_discovery_hook(u->discovery, PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED), u->slot = pa_hook_connect(pa_bluetooth_discovery_hook(u->discovery, PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED),
PA_HOOK_NORMAL, (pa_hook_cb_t) load_module_for_device, u); PA_HOOK_NORMAL, (pa_hook_cb_t) load_module_for_device, u);
if (!async)
pa_bluetooth_discovery_sync(u->discovery);
return 0; return 0;
fail: fail: