diff -rud postgresql-7.3.2/src/backend/postmaster/postmaster.c postgresql-rendezvous/src/backend/postmaster/postmaster.c --- postgresql-7.3.2/src/backend/postmaster/postmaster.c Wed Jan 15 19:27:17 2003 +++ postgresql-rendezvous/src/backend/postmaster/postmaster.c Wed Mar 26 18:43:31 2003 @@ -85,6 +85,10 @@ #include #endif +#ifdef HAVE_RENDEZVOUS +#include +#endif + #include "catalog/pg_database.h" #include "commands/async.h" #include "lib/dllist.h" @@ -203,6 +207,10 @@ bool Log_connections = false; bool Db_user_namespace = false; +#ifdef HAVE_RENDEZVOUS +/* service name */ +char *service_name = NULL; +#endif /* Startup/shutdown state */ static pid_t StartupPID = 0, @@ -354,6 +362,17 @@ } +#ifdef HAVE_RENDEZVOUS + +/* reg_reply -- empty callback function for DNSServiceRegistrationCreate() */ +static void +reg_reply(DNSServiceRegistrationReplyErrorType errorCode, void *context) +{ + +} + +#endif + int PostmasterMain(int argc, char *argv[]) { @@ -684,7 +703,22 @@ { postmaster_error("cannot create INET stream port"); ExitPostmaster(1); - } + } else { +#ifdef HAVE_RENDEZVOUS + /* Rendezvous, baby! */ + + if (service_name != NULL) + { + DNSServiceRegistrationCreate(service_name, + "_pgsql._tcp.", + "", + htonl(PostPortNumber), + "", + (DNSServiceRegistrationReply)reg_reply, + NULL); + } +#endif + } } #ifdef HAVE_UNIX_SOCKETS diff -rud postgresql-7.3.2/src/backend/utils/misc/guc.c postgresql-rendezvous/src/backend/utils/misc/guc.c --- postgresql-7.3.2/src/backend/utils/misc/guc.c Tue Jan 28 13:04:13 2003 +++ postgresql-rendezvous/src/backend/utils/misc/guc.c Wed Mar 26 18:25:34 2003 @@ -794,6 +794,13 @@ "$user,public", assign_search_path, NULL }, +#ifdef HAVE_RENDEZVOUS + { + {"service_name", PGC_POSTMASTER}, &service_name, + NULL, NULL, NULL + }, +#endif + { {"server_encoding", PGC_USERSET}, &server_encoding_string, "SQL_ASCII", assign_server_encoding, show_server_encoding diff -rud postgresql-7.3.2/src/include/miscadmin.h postgresql-rendezvous/src/include/miscadmin.h --- postgresql-7.3.2/src/include/miscadmin.h Thu Oct 3 13:07:53 2002 +++ postgresql-rendezvous/src/include/miscadmin.h Wed Mar 26 18:10:43 2003 @@ -182,6 +182,7 @@ extern char *Unix_socket_group; extern char *UnixSocketDir; extern char *VirtualHost; +extern char *service_name; /***************************************************************************** diff -rud postgresql-7.3.2/src/include/port/darwin.h postgresql-rendezvous/src/include/port/darwin.h --- postgresql-7.3.2/src/include/port/darwin.h Sun Oct 28 01:26:08 2001 +++ postgresql-rendezvous/src/include/port/darwin.h Wed Mar 26 18:35:02 2003 @@ -1,5 +1,7 @@ #define __darwin__ 1 +#define HAVE_RENDEZVOUS + #if defined(__ppc__) #define HAS_TEST_AND_SET #endif