svn commit: samba r16220 - in branches/tmp/vl-messaging/source: . include lib param

ab at samba.org ab at samba.org
Wed Jun 14 14:26:19 GMT 2006


Author: ab
Date: 2006-06-14 14:26:18 +0000 (Wed, 14 Jun 2006)
New Revision: 16220

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16220

Log:
Compile in all messaging alternatives, make them selectable at run-time only.
TDB messaging is used by default.
Modified:
   branches/tmp/vl-messaging/source/Makefile.in
   branches/tmp/vl-messaging/source/configure.in
   branches/tmp/vl-messaging/source/include/messages.h
   branches/tmp/vl-messaging/source/lib/messages.c
   branches/tmp/vl-messaging/source/lib/messages_socket.c
   branches/tmp/vl-messaging/source/param/loadparm.c


Changeset:
Modified: branches/tmp/vl-messaging/source/Makefile.in
===================================================================
--- branches/tmp/vl-messaging/source/Makefile.in	2006-06-14 12:00:53 UTC (rev 16219)
+++ branches/tmp/vl-messaging/source/Makefile.in	2006-06-14 14:26:18 UTC (rev 16220)
@@ -171,12 +171,13 @@
 AUTH_MODULES = @AUTH_MODULES@
 MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(IDMAP_MODULES) $(CHARSET_MODULES) $(AUTH_MODULES)
 
-MESSAGING_OBJ = @MESSAGING_FILES@
-
 ######################################################################
 # object file lists
 ######################################################################
 
+MESSAGING_OBJ = lib/messages.o lib/messages_tdb.o lib/messages_socket.o \
+	lib/messages_dgram.o lib/messages_stream.o
+
 TDBBASE_OBJ = tdb/tdb.o tdb/dump.o tdb/error.o tdb/freelist.o tdb/io.o \
 	tdb/lock.o tdb/open.o tdb/transaction.o tdb/traverse.o
 

Modified: branches/tmp/vl-messaging/source/configure.in
===================================================================
--- branches/tmp/vl-messaging/source/configure.in	2006-06-14 12:00:53 UTC (rev 16219)
+++ branches/tmp/vl-messaging/source/configure.in	2006-06-14 14:26:18 UTC (rev 16220)
@@ -4080,39 +4080,6 @@
   esac
 fi
 
-#################################################
-# Selecting messaging type
-
-AC_ARG_WITH(messaging,
-[  --with-messaging=TYPES  Comma-seperated list of compiled in messaging types: tdb, dgram, stream, tcp],
-[ if test $withval; then
-	for i in `echo $withval | sed -e 's/,/ /g'`
-	do
-		eval ENABLE_MESSAGING_$i=1
-	done
-fi ], [eval ENABLE_MESSAGING_tdb=1])
-
-MESSAGING_FILES="lib/messages.o"
-
-if test x"$ENABLE_MESSAGING_tdb" != x; then
-   AC_DEFINE(WITH_TDB_MESSAGING,1,[Use tdb messaging implementation])
-   MESSAGING_FILES="$MESSAGING_FILES lib/messages_tdb.o"
-fi
-
-if test x"$ENABLE_MESSAGING_dgram" != x -o x"$ENABLE_MESSAGING_stream" != x; then
-   MESSAGING_FILES="$MESSAGING_FILES lib/messages_socket.o"
-fi
-if test x"$ENABLE_MESSAGING_dgram" != x; then
-   MESSAGING_FILES="$MESSAGING_FILES lib/messages_dgram.o"
-   AC_DEFINE(WITH_DGRAM_MESSAGING,1,[Use unix datagram sockets messaging implementation])
-fi
-if test x"$ENABLE_MESSAGING_stream" != x; then
-   MESSAGING_FILES="$MESSAGING_FILES lib/messages_stream.o"
-   AC_DEFINE(WITH_STREAM_MESSAGING,1,[Use unix stream sockets messaging implementation])
-fi
-
-AC_SUBST(MESSAGING_FILES)
-
 #############################################
 # only check for quota stuff if --with-quotas
 if test x"$samba_cv_RUN_QUOTA_TESTS" != x"no"; then

Modified: branches/tmp/vl-messaging/source/include/messages.h
===================================================================
--- branches/tmp/vl-messaging/source/include/messages.h	2006-06-14 12:00:53 UTC (rev 16219)
+++ branches/tmp/vl-messaging/source/include/messages.h	2006-06-14 14:26:18 UTC (rev 16220)
@@ -42,10 +42,7 @@
 #define MSG_REQ_DMALLOC_LOG_CHANGED	12
 
 #define MSG_SHUTDOWN		13
-
-#ifdef WITH_STREAM_MESSAGING
 #define MSG_HELLO			14
-#endif /* WITH_STREAM_MESSAGING */
 
 /* nmbd messages */
 #define MSG_FORCE_ELECTION 1001

Modified: branches/tmp/vl-messaging/source/lib/messages.c
===================================================================
--- branches/tmp/vl-messaging/source/lib/messages.c	2006-06-14 12:00:53 UTC (rev 16219)
+++ branches/tmp/vl-messaging/source/lib/messages.c	2006-06-14 14:26:18 UTC (rev 16220)
@@ -105,8 +105,6 @@
 BOOL message_init(void)
 {
 	switch((enum messaging_type)lp_messaging_type()) {
-
-#ifdef WITH_TDB_MESSAGING
 	case MESSAGING_TYPE_TDB:
 		message_send_pid_func = message_send_pid_tdb;
 		message_select_setup_func = NULL;
@@ -114,25 +112,14 @@
 		retrieve_all_messages_func = retrieve_all_messages_tdb;
 		if(!message_init_tdb()) return False;
 		break;
-#endif /* WITH_TDB_MESSAGING */
-
-#ifdef WITH_DGRAM_MESSAGING
 	case MESSAGING_TYPE_DGRAM:
-#endif /* WITH_DGRAM_MESSAGING */
-
-#ifdef WITH_STREAM_MESSAGING
 	case MESSAGING_TYPE_STREAM:
-#endif /* WITH_STREAM_MESSAGING */
-
-#if defined(WITH_DGRAM_MESSAGING) || defined(WITH_STREAM_MESSAGING)
 		message_send_pid_func = message_send_pid_socket;
 		message_select_setup_func = message_select_setup_socket;
 		message_receive_func = message_receive_socket;
 		retrieve_all_messages_func = retrieve_all_messages_socket;
 		if(!message_init_socket()) return False;
 		break;
-#endif /* WITH_(DGRAM or STREAM_MESSAGING */
-
 	default:
 		DEBUG(0,("Unsupported messaging type %d\n",
 			 lp_messaging_type()));
@@ -155,13 +142,13 @@
 
 BOOL message_reinit(void)
 {
-#if defined(WITH_DGRAM_MESSAGING) || defined(WITH_STREAM_MESSAGING)
-	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_DGRAM ||
-	    (enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
+	
+	enum messaging_type m_type = (enum messaging_type)lp_messaging_type();
+	if ((m_type == MESSAGING_TYPE_DGRAM) || 
+	    (m_type == MESSAGING_TYPE_STREAM)) {
 		shutdown_sockets();
 		return message_init_socket();
 	}
-#endif /* WITH_(DGRAM or STREAM)_MESSAGING */
 	return True;
 }
 
@@ -171,12 +158,11 @@
 
 BOOL message_end(void)
 {
-#if defined(WITH_DGRAM_MESSAGING) || defined(WITH_STREAM_MESSAGING)
-	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_DGRAM ||
-	    (enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
+        enum messaging_type m_type = (enum messaging_type)lp_messaging_type();
+        if ((m_type == MESSAGING_TYPE_DGRAM) ||
+            (m_type == MESSAGING_TYPE_STREAM)) {
 		shutdown_sockets();
 	}
-#endif /* WITH_(DGRAM or STREAM)_MESSAGING */
 
 	message_send_pid_func = NULL;
 	message_select_setup_func = NULL;
@@ -228,20 +214,13 @@
 
 unsigned int messages_pending_for_pid(struct process_id pid)
 {
-#ifdef WITH_TDB_MESSAGING
-	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_TDB) {
+	switch((enum messaging_type)lp_messaging_type()) {
+	case MESSAGING_TYPE_TDB:
 		return messages_pending_for_pid_tdb(pid);
-	} else 
-#endif /* WITH_TDB_MESSAGING */	
-
-#if defined(WITH_DGRAM_MESSAGING) || defined(WITH_STREAM_MESSAGING)
-	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_DGRAM ||
-	    (enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
+	case MESSAGING_TYPE_DGRAM:
+	case MESSAGING_TYPE_STREAM:
 		return messages_pending_for_pid_socket(pid);
-	} else 
-#endif /* WITH_(DGRAM or STREAM)_MESSAGING */
-
-	{
+	default:
 		DEBUG(0,("Bad messaging type %d\n", lp_messaging_type()));
 		return 0;
 	}
@@ -517,19 +496,15 @@
 
 void message_block(void)
 {
-#ifdef WITH_TDB_MESSAGING
 	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_TDB) {
 		message_block_tdb();
 	}
-#endif /* WITH_TDB_MESSAGING */	
 }
 
 void message_unblock(void)
 {
-#ifdef WITH_TDB_MESSAGING
 	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_TDB) {
 		message_unblock_tdb();
 	}
-#endif /* WITH_TDB_MESSAGING */	
 }
 /** @} **/

Modified: branches/tmp/vl-messaging/source/lib/messages_socket.c
===================================================================
--- branches/tmp/vl-messaging/source/lib/messages_socket.c	2006-06-14 12:00:53 UTC (rev 16219)
+++ branches/tmp/vl-messaging/source/lib/messages_socket.c	2006-06-14 14:26:18 UTC (rev 16220)
@@ -53,11 +53,9 @@
 {
 	if (sent_messages != NULL) return False;
 		
-#ifdef WITH_STREAM_MESSAGING
 	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
 		return can_close_messaging_stream();
 	}
-#endif /* WITH_STREAM_MESSAGING */
 
 	return True;
 }
@@ -97,12 +95,9 @@
 	cleanup_messages();
 
 	if (socket_fd >= 0) {
-#ifdef WITH_STREAM_MESSAGING
 		if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
 			shutdown_stream_sockets();
 		}
-#endif /* WITH_STREAM_MESSAGING */
-
 		close(socket_fd);
 		socket_fd = -1;
 	}
@@ -123,28 +118,20 @@
 
 	SMB_ASSERT(socket_fd == -1);
 
-#ifdef WITH_DGRAM_MESSAGING
-	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_DGRAM) {
+	if((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_DGRAM) {
 		receive_on_socket_func = receive_on_socket_dgram;
-		send_on_socket_func = send_on_socket_dgram;
-		
+		send_on_socket_func = send_on_socket_dgram;		
 		socket_fd = create_dgram_sock(lock_path("messaging"),
-									  procid_str_static(&socket_pid),
-									  0700);
-	}
-#endif /* WITH_DGRAM_MESSAGING */
-
-#ifdef WITH_STREAM_MESSAGING
-	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
+					      procid_str_static(&socket_pid),
+					      0700);
+	} else {
 		receive_on_socket_func = receive_on_socket_stream;
 		send_on_socket_func = send_on_socket_stream;
-
 		socket_fd = create_pipe_sock(lock_path("messaging"),
-									 procid_str_static(&socket_pid),
-									 0700);
+					     procid_str_static(&socket_pid),
+					     0700);
 	}
-#endif /* WITH_STREAM_MESSAGING */
-
+	
 	if (socket_fd < 0) {
 		DEBUG(0, ("Could not create socket: %s\n",
 				  strerror(errno)));
@@ -184,13 +171,10 @@
 							 BOOL duplicates_allowed,
 							 unsigned int timeout)
 {
-#ifdef WITH_STREAM_MESSAGING
 	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
 		return message_send_pid_stream(pid, msg_type, buf, len,
-									   duplicates_allowed, timeout);
-	} else
-#endif /* WITH_STREAM_MESSAGING */
-	{
+						duplicates_allowed, timeout);
+	} else {
 		struct message_list *li, *tmp;
 		uint8_t* buffer;
 		
@@ -249,11 +233,9 @@
 	}
 	*maxfd = MAX(*maxfd, socket_fd);
 
-#ifdef WITH_STREAM_MESSAGING
 	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
 		message_select_setup_stream(maxfd, rfds, wfds);
 	}
-#endif /* WITH_STREAM_MESSAGING */
 }
 
 /****************************************************************************
@@ -273,13 +255,9 @@
 		affected++;
 	}
 
-#ifdef WITH_STREAM_MESSAGING
 	if ((enum messaging_type)lp_messaging_type() == MESSAGING_TYPE_STREAM) {
-		affected += message_receive_stream(rfds, wfds,
-										   &received_messages);
+		affected += message_receive_stream(rfds, wfds, &received_messages);
 	}
-#endif /* WITH_STREAM_MESSAGING */
-
 	return affected;
 }
 

Modified: branches/tmp/vl-messaging/source/param/loadparm.c
===================================================================
--- branches/tmp/vl-messaging/source/param/loadparm.c	2006-06-14 12:00:53 UTC (rev 16219)
+++ branches/tmp/vl-messaging/source/param/loadparm.c	2006-06-14 14:26:18 UTC (rev 16220)
@@ -1621,13 +1621,7 @@
 	string_set(&Globals.szTemplateShell, "/bin/false");
 	string_set(&Globals.szTemplateHomedir, "/home/%D/%U");
 	string_set(&Globals.szWinbindSeparator, "\\");
-#if defined(WITH_TDB_MESSAGING)
 	Globals.iMsgType = MESSAGING_TYPE_TDB;
-#elif defined(WITH_DGRAM_MESSAGING)
-	Globals.iMsgType = MESSAGING_TYPE_DGRAM;
-#elif defined(WITH_STREAM_MESSAGING)
-	Globals.iMsgType = MESSAGING_TYPE_STREAM;
-#endif /* WITH_..._MESSAGING */
 	string_set(&Globals.szCupsServer, "");
 	string_set(&Globals.szIPrintServer, "");
 



More information about the samba-cvs mailing list