summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-06-25 12:23:22 +0200
committerStefan Metzmacher <metze@samba.org>2012-06-26 14:08:22 +0200
commit5df1fda0f5f775c0ccf23412b29b2fd8b013156e (patch)
treec65f1bb9c9176edfcaa40f59489f0c7ec537ca66 /source3/smbd
parent93399c1ec309fd98eb78d10ba11a3a92d8217837 (diff)
downloadsamba-5df1fda0f5f775c0ccf23412b29b2fd8b013156e.tar.gz
samba-5df1fda0f5f775c0ccf23412b29b2fd8b013156e.tar.bz2
samba-5df1fda0f5f775c0ccf23412b29b2fd8b013156e.zip
s3: Restore async i/o with the "native" AIO interface
eff3609 moved the async signal handler initialization to later in the process to enable aio_fork and aio_pthread on platforms without realtime signals. This commit broke the use of the native aio interface. aio_pending_size is initialized to 0, so aio.c will not allow async i/0 at all if modules do not set that variable correctly. Initialize to 100 right from the start. Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Jun 26 14:08:22 CEST 2012 on sn-devel-104
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/aio.c3
-rw-r--r--source3/smbd/globals.c2
2 files changed, 1 insertions, 4 deletions
diff --git a/source3/smbd/aio.c b/source3/smbd/aio.c
index 7ba0bdc066..ec68b90452 100644
--- a/source3/smbd/aio.c
+++ b/source3/smbd/aio.c
@@ -91,9 +91,6 @@ bool initialize_async_io_handler(void)
DEBUG(10, ("Failed to setup RT_SIGNAL_AIO handler\n"));
return false;
}
-
- /* tevent supports 100 signal with SA_SIGINFO */
- aio_pending_size = 100;
return true;
}
diff --git a/source3/smbd/globals.c b/source3/smbd/globals.c
index 7c4ffec099..87ecff70a3 100644
--- a/source3/smbd/globals.c
+++ b/source3/smbd/globals.c
@@ -28,7 +28,7 @@
#if defined(HAVE_AIO)
struct aio_extra *aio_list_head = NULL;
struct tevent_signal *aio_signal_event = NULL;
-int aio_pending_size = 0;
+int aio_pending_size = 100; /* tevent supports 100 signals SA_SIGINFO */
int outstanding_aio_calls = 0;
#endif