Merge branch 'escl-avahi-resolve' into 'master'

Fixes device discovery

See merge request sane-project/backends!536
merge-requests/540/head
Ordissimo 2020-10-10 16:51:52 +00:00
commit b75e39af8c
1 zmienionych plików z 8 dodań i 1 usunięć

Wyświetl plik

@ -38,6 +38,7 @@
#include "../include/sane/sanei.h" #include "../include/sane/sanei.h"
static AvahiSimplePoll *simple_poll = NULL; static AvahiSimplePoll *simple_poll = NULL;
static int count_finish = 0;
/** /**
* \fn static void resolve_callback(AvahiServiceResolver *r, AVAHI_GCC_UNUSED * \fn static void resolve_callback(AvahiServiceResolver *r, AVAHI_GCC_UNUSED
@ -107,7 +108,11 @@ browse_callback(AvahiServiceBrowser *b, AvahiIfIndex interface,
case AVAHI_BROWSER_ALL_FOR_NOW: case AVAHI_BROWSER_ALL_FOR_NOW:
case AVAHI_BROWSER_CACHE_EXHAUSTED: case AVAHI_BROWSER_CACHE_EXHAUSTED:
if (event != AVAHI_BROWSER_CACHE_EXHAUSTED) if (event != AVAHI_BROWSER_CACHE_EXHAUSTED)
avahi_simple_poll_quit(simple_poll); {
count_finish++;
if (count_finish == 2)
avahi_simple_poll_quit(simple_poll);
}
break; break;
} }
} }
@ -143,6 +148,8 @@ escl_devices(SANE_Status *status)
AvahiServiceBrowser *sb = NULL; AvahiServiceBrowser *sb = NULL;
int error; int error;
count_finish = 0;
*status = SANE_STATUS_GOOD; *status = SANE_STATUS_GOOD;
if (!(simple_poll = avahi_simple_poll_new())) { if (!(simple_poll = avahi_simple_poll_new())) {
DBG( 1, "Failed to create simple poll object.\n"); DBG( 1, "Failed to create simple poll object.\n");