From: Nicholas N. <nj...@ca...> - 2003-07-22 21:37:18
|
On 24 Apr 2003, Robert Walsh wrote: > I've been trying to further understand the valgrind code. I was looking > at vg_syscalls.c and noticed that the only syscalls considered blocking > were __NR_read and __NR_write. Why is this? For example, could > syscalls like __NR_readv, __NR_writev, __NR_socketcall (like SYS_RECV) > and others also likely block under certain common circumstances? I think you're right. As for why it's like this, hard to say, I would guess that it's because read() and write() had to be treated as blocking, whereas for the others Valgrind could get away with pretending otherwise? Or something like that. Anyway, work is underway to rejig the syscall stuff to better handle blocking, and signals, and all that nasty sort of stuff. In this work, I believe many more syscalls will be considered blocking, and handled more suitably. N |