Hi, On Sat, Jan 26, 2013 at 12:24:56PM +0100, Laurent Vivier wrote: > Le dimanche 20 janvier 2013 à 00:32 +0100, Laurent Vivier a écrit : > > ping ? > > ping
I'm really not managing to find time for qemu linux-user maintainance at the moment. I suggest you send the patches directly as pull request. Riku > > Le mardi 01 janvier 2013 à 19:24 +0100, Laurent Vivier a écrit : > > > From: Laurent Vivier <laur...@vivier.eu> > > > > > > SO_SNDTIMEO and SO_RCVTIMEO take a struct timeval, not an int > > > > > > To test this, you can use : > > > > > > QEMU_STRACE= ping localhost 2>&1 |grep TIMEO > > > 568 setsockopt(3,SOL_SOCKET,SO_SNDTIMEO,{1,0},8) = 0 > > > 568 setsockopt(3,SOL_SOCKET,SO_RCVTIMEO,{1,0},8) = 0 > > > > > > Signed-off-by: Laurent Vivier <laur...@vivier.eu> > > > --- > > > v2: pass checkpatch.pl > > > > > > linux-user/syscall.c | 28 ++++++++++++++++++++++------ > > > 1 file changed, 22 insertions(+), 6 deletions(-) > > > > > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > > > index e99adab..2b2bd2b 100644 > > > --- a/linux-user/syscall.c > > > +++ b/linux-user/syscall.c > > > @@ -1491,6 +1491,28 @@ static abi_long do_setsockopt(int sockfd, int > > > level, int optname, > > > break; > > > case TARGET_SOL_SOCKET: > > > switch (optname) { > > > + case TARGET_SO_RCVTIMEO: > > > + { > > > + struct timeval tv; > > > + > > > + optname = SO_RCVTIMEO; > > > + > > > +set_timeout: > > > + if (optlen != sizeof(struct target_timeval)) { > > > + return -TARGET_EINVAL; > > > + } > > > + > > > + if (copy_from_user_timeval(&tv, optval_addr)) { > > > + return -TARGET_EFAULT; > > > + } > > > + > > > + ret = get_errno(setsockopt(sockfd, SOL_SOCKET, optname, > > > + &tv, sizeof(tv))); > > > + return ret; > > > + } > > > + case TARGET_SO_SNDTIMEO: > > > + optname = SO_SNDTIMEO; > > > + goto set_timeout; > > > /* Options with 'int' argument. */ > > > case TARGET_SO_DEBUG: > > > optname = SO_DEBUG; > > > @@ -1542,12 +1564,6 @@ static abi_long do_setsockopt(int sockfd, int > > > level, int optname, > > > case TARGET_SO_RCVLOWAT: > > > optname = SO_RCVLOWAT; > > > break; > > > - case TARGET_SO_RCVTIMEO: > > > - optname = SO_RCVTIMEO; > > > - break; > > > - case TARGET_SO_SNDTIMEO: > > > - optname = SO_SNDTIMEO; > > > - break; > > > break; > > > default: > > > goto unimplemented; > > > > -- > "Just play. Have fun. Enjoy the game." > - Michael Jordan > "Just play. Have fun. Enjoy the game." > - Michael Jordan