summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2016-08-10 13:47:53 +0200
committerJohnny Willemsen <jwillemsen@remedy.nl>2016-08-10 13:47:53 +0200
commit571605a737200863989ba3d438e15619da419b1d (patch)
treedb38b8b03a14d4617c2cc238cb1ad40598b643a4
parent18cb08464abc1d506ae5c9d50c0428229f8653f6 (diff)
parenta87c34eaeeace4dc6d47849f769a379aa5b45f9f (diff)
downloadATCD-571605a737200863989ba3d438e15619da419b1d.tar.gz
Merge branch 'master' of git://github.com/DOCGroup/ATCD
-rw-r--r--ACE/ace/POSIX_Proactor.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/ACE/ace/POSIX_Proactor.cpp b/ACE/ace/POSIX_Proactor.cpp
index 4d5105ae03e..0d7f3231b10 100644
--- a/ACE/ace/POSIX_Proactor.cpp
+++ b/ACE/ace/POSIX_Proactor.cpp
@@ -920,6 +920,12 @@ int ACE_POSIX_AIOCB_Proactor::delete_result_aiocb_list (void)
void ACE_POSIX_AIOCB_Proactor::check_max_aio_num ()
{
+#if !defined (ACE_ANDROID)
+ // Android API 23 introduced a define _POSIX_AIO_MAX 1 which gets used by _SC_AIO_MAX.
+ // Previously, without the define, the value returned was -1, which got ignored.
+ // Officially, the Android OS does not support AIO so if ACE_HAS_AIO_CALLS is defined
+ // then a 3rd party library must be in use and this check is invalid.
+
long max_os_aio_num = ACE_OS::sysconf (_SC_AIO_MAX);
// Define max limit AIO's for concrete OS
@@ -929,6 +935,7 @@ void ACE_POSIX_AIOCB_Proactor::check_max_aio_num ()
if (max_os_aio_num > 0 &&
aiocb_list_max_size_ > (unsigned long) max_os_aio_num)
aiocb_list_max_size_ = max_os_aio_num;
+#endif
#if defined (HPUX) || defined (__FreeBSD__)
// Although HPUX 11.00 allows to start 2048 AIO's for all process in