Use dns_sd.h for Bonjour

Поиск
Список
Период
Сортировка
От Chris Campbell
Тема Use dns_sd.h for Bonjour
Дата
Msg-id 437715E7-EAA7-468F-AAD0-12F30D63CA4F@bignerdranch.com
обсуждение исходный текст
Список pgsql-patches
Re: Darwin stuff is getting deprecated

     http://archives.postgresql.org/pgsql-hackers/2006-09/msg02238.php

Mac OS X versions 10.3 and later support a new, non-Mach API for
registering Bonjour services. I believe this API is also available on
other platforms. I see /usr/lib/libdns_sd.so.1 on my Fedora Core 5
system, but I can't find a header for it.

New API (<dns_sd.h>):

     http://developer.apple.com/documentation/Networking/Conceptual/
dns_discovery_api/index.html

Deprecated API (currently used by PostgreSQL):

     http://developer.apple.com/documentation/Networking/Conceptual/
dns_discovery_mach/index.html

The attached patch uses the new API.

(1) This requires Mac OS X 10.3 and later. Do we currently support
PostgreSQL on older versions of Mac OS X? Is it acceptable to break
Bonjour support on those systems?

(2) On non-Mac OS X platforms, <dns_sd.h> may require an additional
library to be linked in for the postmaster.

(3) The current behavior for the bonjour_name GUC is that if
PostgreSQL was compiled using --with-bonjour, Bonjour support is
always enabled, and the default service name (the computer name) is
used if bonjour_name is the empty string (""). This patch retains
this behavior for choosing to use the default service name, which
requires that NULL be passed in to DNSServiceRegister() as the
service name (rather than "" like the old API).

(4) I patched configure.in, but not configure. Is that right?

Thanks!

- Chris


Вложения

В списке pgsql-patches по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] Updated version of FAQ_Solaris
Следующее
От: Chris Campbell
Дата:
Сообщение: Use non-deprecated APIs for dynloader/darwin.c