소스 검색

* android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).

git-svn-id: trunk@40536 -
yury 6 년 전
부모
커밋
f7efca92ec
2개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      rtl/linux/bunxsysc.inc
  2. 4 0
      rtl/linux/osdefs.inc

+ 2 - 2
rtl/linux/bunxsysc.inc

@@ -460,7 +460,7 @@ Function fpSelect(N:cint;readfds,writefds,exceptfds:pfdSet;TimeOut:PTimeVal):cin
   Select checks whether the file descriptor sets in readfs/writefs/exceptfs
   have changed.
 }
-{$if defined(generic_linux_syscalls)}
+{$if defined(generic_linux_syscalls) and not defined(NO_SYSCALL_PSELECT6)}
 
 var ts : timespec;
     pts : PTimeSpec;
@@ -495,7 +495,7 @@ end;
 {$endif}
 
 function fpPoll(fds: ppollfd; nfds: cuint; timeout: clong): cint;
-{$if defined(generic_linux_syscalls)}
+{$if defined(generic_linux_syscalls) and not defined(NO_SYSCALL_PPOLL)}
 var ts : timespec;
 begin
   if timeout<0 then

+ 4 - 0
rtl/linux/osdefs.inc

@@ -107,6 +107,10 @@
 
 {$ifdef android}
   {$define generic_linux_syscalls}
+  {$ifdef cpuarm}
+    {$define NO_SYSCALL_PSELECT6}
+    {$define NO_SYSCALL_PPOLL}
+  {$endif cpuarm}
   {$define userenameat}
   {$undef usestime}
   {$undef OLDMMAP}