[SCM] Samba Shared Repository - branch v3-5-test updated
Karolin Seeger
kseeger at samba.org
Sat Feb 5 10:49:55 MST 2011
The branch, v3-5-test has been updated
via 44a2e73 s3:lib/events: use DLIST_DEMOTE() for fd events
via 8a82e65 s3:smbd: let smbd_server_connection_loop_once() check for select errors
via 6647d68 s3:lib/events: don't loop over fd events is select gave -1
from a50a0f4 s3: Fix bug 7940 -- fall back for utimes calls
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit 44a2e73cf07110e463f2262c50a377bdf17253d6
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 24 08:47:12 2011 +0100
s3:lib/events: use DLIST_DEMOTE() for fd events
This makes sure that fd events doesn't dry out,
because a fd with a lower number is busy.
metze
The last 3 patches address bug #7942 (inotify can somehow cause endless loops in
with select()).
Autobuild-User: Stefan Metzmacher <metze at samba.org>
Autobuild-Date: Mon Jan 31 16:59:44 CET 2011 on sn-devel-104
(cherry picked from commit ad10289ebcc78ab62ec86abb29f81eb769d17f4e)
(cherry picked from commit 3d2f72844a221dbdfe94fbf6e2b45c98ee158a9b)
commit 8a82e65f711e2f4ac893bd7e2365b305e1b088b8
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 24 09:00:53 2011 +0100
s3:smbd: let smbd_server_connection_loop_once() check for select errors
metze
(cherry picked from commit 0bbe7334d69bcaa476f0741e0bd9685b023a4208)
(cherry picked from commit d677921237c66e6cdf83de04e16c576a101d6493)
commit 6647d687654aff806dfa8d797634b47ede36bf9c
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 24 08:57:47 2011 +0100
s3:lib/events: don't loop over fd events is select gave -1
metze
(cherry picked from commit 1f2be10ebf4cc06e3b7aac41ea35bfc4a41ce828)
(cherry picked from commit d506b574bb94fdc23c5a62c5326cd478b5b63a11)
-----------------------------------------------------------------------
Summary of changes:
source3/lib/events.c | 3 ++-
source3/smbd/process.c | 4 ++++
2 files changed, 6 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/lib/events.c b/source3/lib/events.c
index 75aa250..c529038 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -131,7 +131,7 @@ bool run_events(struct tevent_context *ev,
return true;
}
- if (selrtn == 0) {
+ if (selrtn <= 0) {
/*
* No fd ready
*/
@@ -145,6 +145,7 @@ bool run_events(struct tevent_context *ev,
if (FD_ISSET(fde->fd, write_fds)) flags |= EVENT_FD_WRITE;
if (flags & fde->flags) {
+ DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd *);
fde->handler(ev, fde, flags, fde->private_data);
return true;
}
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index f7b0f4c..5292060 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -837,6 +837,10 @@ static NTSTATUS smbd_server_connection_loop_once(struct smbd_server_connection *
errno = sav;
}
+ if (selrtn == -1 && errno != EINTR) {
+ return map_nt_error_from_unix(errno);
+ }
+
if (run_events(smbd_event_context(), selrtn, &r_fds, &w_fds)) {
return NT_STATUS_RETRY;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list