Bläddra i källkod

* fix timespec=nil for -dgeneric_linux_syscalls (aarch64) case.

git-svn-id: trunk@33392 -
marco 9 år sedan
förälder
incheckning
2221e4e4bd
1 ändrade filer med 9 tillägg och 3 borttagningar
  1. 9 3
      rtl/linux/bunxsysc.inc

+ 9 - 3
rtl/linux/bunxsysc.inc

@@ -463,12 +463,18 @@ Function fpSelect(N:cint;readfds,writefds,exceptfds:pfdSet;TimeOut:PTimeVal):cin
 {$if defined(generic_linux_syscalls)}
 
 var ts : timespec;
+    pts : PTimeSpec;
 begin
-  ts.tv_sec := timeout^.tv_sec;
-  ts.tv_nsec := timeout^.tv_usec * 1000;
+  pts:=nil;
+  if assigned(timeout) then
+    begin
+      pts:=@ts;
+      ts.tv_sec := timeout^.tv_sec;
+      ts.tv_nsec := timeout^.tv_usec * 1000;
+    end;
   fpSelect:=do_syscall(syscall_nr_pselect6,n,
                        tsysparam(readfds),tsysparam(writefds),
-                       tsysparam(exceptfds),tsysparam(@ts),0);
+                       tsysparam(exceptfds),tsysparam(pts),0);
 end;
 
 {$else}