The branch, master has been updated
       via  6d21fd57bedffce2298ce7fe4c7d889c858ba7fa (commit)
       via  9acd577c97059e8924582ac52e9ce5785903f120 (commit)
      from  4edc6d40cb63936146af99030b7819683238abfc (commit)

http://gitweb.samba.org/?p=tridge/ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6d21fd57bedffce2298ce7fe4c7d889c858ba7fa
Author: Andrew Tridgell <[EMAIL PROTECTED]>
Date:   Fri Jul 4 16:58:29 2008 +1000

    CTDB_NO_MEMORY_VOID() needs to return on error

commit 9acd577c97059e8924582ac52e9ce5785903f120
Author: Andrew Tridgell <[EMAIL PROTECTED]>
Date:   Fri Jul 4 16:58:14 2008 +1000

    added option to start ctdb under valgrind
    
    Just add CTDB_VALGRIND=yes in /etc/sysconfig/ctdb, and look at the
    logs in /var/log/ctdb_valgrind.*

-----------------------------------------------------------------------

Summary of changes:
 config/ctdb.init       |   14 +++++++++++++-
 include/ctdb_private.h |    2 +-
 2 files changed, 14 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/config/ctdb.init b/config/ctdb.init
index 88ecc77..760d6de 100755
--- a/config/ctdb.init
+++ b/config/ctdb.init
@@ -73,7 +73,9 @@ CTDB_OPTIONS="$CTDB_OPTIONS --reclock=$CTDB_RECOVERY_LOCK"
        CTDB_OPTIONS="$CTDB_OPTIONS --no-lmaster"
 }
 
-if [ -x /sbin/startproc ]; then
+if [ "$CTDB_VALGRIND" = "yes" ]; then
+    init_style="valgrind"
+else if [ -x /sbin/startproc ]; then
     init_style="suse"
 else if [ -x /sbin/start-stop-daemon ]; then
        init_style="ubuntu"
@@ -81,6 +83,7 @@ else if [ -x /sbin/start-stop-daemon ]; then
        init_style="redhat"
     fi
 fi
+fi
 
 start() {
         killall -q ctdbd
@@ -100,6 +103,10 @@ start() {
        done
 
        case $init_style in
+           valgrind)
+               valgrind -q --log-file=/var/log/ctdb_valgrind /usr/sbin/ctdbd 
--nosetsched $CTDB_OPTIONS 
+               RETVAL=0
+               ;;
            suse)
                startproc /usr/sbin/ctdbd $CTDB_OPTIONS
                rc_status -v
@@ -134,6 +141,11 @@ stop() {
        ctdb shutdown
        RETVAL=$?
        count=0
+       if [ "$init_style" = "valgrind" ]; then
+           # very crude method
+           sleep 2
+           pkill -9 -f valgrind
+       fi
        while killall -q -0 ctdbd; do
            sleep 1
            count=`expr $count + 1`
diff --git a/include/ctdb_private.h b/include/ctdb_private.h
index e5a7b80..137dbee 100644
--- a/include/ctdb_private.h
+++ b/include/ctdb_private.h
@@ -439,7 +439,7 @@ struct ctdb_db_context {
 #define CTDB_NO_MEMORY_VOID(ctdb, p) do { if (!(p)) { \
           DEBUG(0,("Out of memory for %s at %s\n", #p, __location__)); \
           ctdb_set_error(ctdb, "Out of memory at %s:%d", __FILE__, __LINE__); \
-         }} while (0)
+         return; }} while (0)
 
 #define CTDB_NO_MEMORY_NULL(ctdb, p) do { if (!(p)) { \
           DEBUG(0,("Out of memory for %s at %s\n", #p, __location__)); \


-- 
CTDB repository

Reply via email to