[SCM] CTDB repository - branch master updated - ctdb-1.0.108-44-ga78b8ea

Ronnie Sahlberg sahlberg at samba.org
Wed Dec 9 13:53:00 MST 2009


The branch, master has been updated
       via  a78b8ea7168e5fdb2d62379ad3112008b2748576 (commit)
      from  142111983c103e90ccccbe26fd580c4eb28e949f (commit)

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


- Log -----------------------------------------------------------------
commit a78b8ea7168e5fdb2d62379ad3112008b2748576
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Dec 9 17:14:16 2009 +0100

    Run only one event for each epoll_wait/select call
    
    This might be a bit less efficient, but experience in winbind has shown that
    event callbacks can trigger changes in the socket state in very hard to
    diagnose ways.

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

Summary of changes:
 include/ctdb_private.h     |    2 ++
 lib/events/events_epoll.c  |    4 +---
 lib/events/events_select.c |    4 +---
 server/ctdb_daemon.c       |    1 -
 server/ctdb_server.c       |    2 +-
 5 files changed, 5 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/include/ctdb_private.h b/include/ctdb_private.h
index 142bbd5..4467e0f 100644
--- a/include/ctdb_private.h
+++ b/include/ctdb_private.h
@@ -478,6 +478,8 @@ struct ctdb_db_context {
 	struct ctdb_traverse_local_handle *traverse;
 	bool transaction_active;
 	struct ctdb_vacuum_handle *vacuum_handle;
+
+	uint8_t **holdback_keys;
 };
 
 
diff --git a/lib/events/events_epoll.c b/lib/events/events_epoll.c
index 99fa36c..47bf2b3 100644
--- a/lib/events/events_epoll.c
+++ b/lib/events/events_epoll.c
@@ -321,9 +321,7 @@ static int epoll_event_loop(struct epoll_event_context *epoll_ev, struct timeval
 		if (events[i].events & EPOLLOUT) flags |= EVENT_FD_WRITE;
 		if (flags) {
 			fde->handler(epoll_ev->ev, fde, flags, fde->private_data);
-			if (destruction_count != epoll_ev->destruction_count) {
-				break;
-			}
+			break;
 		}
 	}
 
diff --git a/lib/events/events_select.c b/lib/events/events_select.c
index faccc6d..885bd82 100644
--- a/lib/events/events_select.c
+++ b/lib/events/events_select.c
@@ -241,9 +241,7 @@ static int select_event_loop_select(struct select_event_context *select_ev, stru
 			if (FD_ISSET(fde->fd, &w_fds)) flags |= EVENT_FD_WRITE;
 			if (flags) {
 				fde->handler(select_ev->ev, fde, flags, fde->private_data);
-				if (destruction_count != select_ev->destruction_count) {
-					break;
-				}
+				break;
 			}
 		}
 	}
diff --git a/server/ctdb_daemon.c b/server/ctdb_daemon.c
index 0abea44..9ade55a 100644
--- a/server/ctdb_daemon.c
+++ b/server/ctdb_daemon.c
@@ -134,7 +134,6 @@ static void daemon_message_handler(struct ctdb_context *ctdb, uint64_t srvid,
 
 	talloc_free(r);
 }
-					   
 
 /*
   this is called when the ctdb daemon received a ctdb request to 
diff --git a/server/ctdb_server.c b/server/ctdb_server.c
index 77928ea..3ccbee7 100644
--- a/server/ctdb_server.c
+++ b/server/ctdb_server.c
@@ -463,7 +463,7 @@ struct queue_next {
 
 
 /*
-  trigered when a deferred packet is due
+  triggered when a deferred packet is due
  */
 static void queue_next_trigger(struct event_context *ev, struct timed_event *te, 
 			       struct timeval t, void *private_data)


-- 
CTDB repository


More information about the samba-cvs mailing list