https://bugs.kde.org/show_bug.cgi?id=432870

--- Comment #3 from Yi Fan Yu <yifan...@windriver.com> ---
Here is a working call to sleepers *without* the select update patch in 2.33
it used to directly passes timeout to the underlying syscall. 
With 2.33, it doesn't anymore


```
root@qemux86-64:/usr/lib/valgrind/ptest/gdbserver_tests# valgrind
--trace-syscalls=yes  ./sleepers 1000000000 1000000000 1000000000 BSBSBSBS 2>&1
| grep select
SYSCALL[6021,2](23) sys_select ( 0, 0x0, 0x0, 0x0, 0x4041b0 ) --> [async] ...
SYSCALL[6021,3](23) sys_select ( 0, 0x0, 0x0, 0x0, 0x4041c0 ) --> [async] ...
SYSCALL[6021,1](23) sys_select ( 0, 0x0, 0x0, 0x0, 0x4041a0 ) --> [async] ...
SYSCALL[6021,4](23) sys_select ( 0, 0x0, 0x0, 0x0, 0x4041d0 ) --> [async] ...
```

It used to pass timeout directly to `select`, now it calls `select6`
```
-__select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
-         struct timeval *timeout)
+__select64 (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
+           struct __timeval64 *timeout)
 {
-#ifdef __NR_select
-  return SYSCALL_CANCEL (select, nfds, readfds, writefds, exceptfds,
-                        timeout);
```

here is how it calls it now 
```
+  r = SYSCALL_CANCEL (pselect6, nfds, readfds, writefds, exceptfds, pts32,
+                     NULL);
```

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to