From cdac09614ef426092ed1b1de480fe90c3c4cdd83 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 16 Nov 2000 21:38:24 +0000 Subject: Fix for a problem with the new messaging system. If a sender is using the messaging system as a notification mechanism, and the speed of notification greatly exceeds the speed of message recovery, then you get a massively (>75Mb) growing tdb. If the message is a simple notification, then the message is static, and you only need one of them in transit to a target process at any one time. This patch adds a BOOL "allow_duplicates" to the message_send_XX primitives. If set to False, then before sending a message the sender checks the existing message queue for a target pid for a duplicate of this message, and doesn't add to it if one already exists. Also added code into msgtest.c to test this. Jeremy. (This used to be commit 3aa7995660395ecb85c8e35b638fa9fbbb952558) --- source3/profile/profile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/profile') diff --git a/source3/profile/profile.c b/source3/profile/profile.c index 80584adfa2..dce1d78a9b 100644 --- a/source3/profile/profile.c +++ b/source3/profile/profile.c @@ -86,7 +86,7 @@ void reqprofile_message(int msg_type, pid_t src, void *buf, size_t len) level = 0; #endif DEBUG(1,("INFO: Received REQ_PROFILELEVEL message from PID %d\n",src)); - message_send_pid(src, MSG_PROFILELEVEL, &level, sizeof(int)); + message_send_pid(src, MSG_PROFILELEVEL, &level, sizeof(int), True); } /******************************************************************* -- cgit