• Vladimir Davydov's avatar
    zdtm/pty02: never close master before reading slave · 888cae43
    Vladimir Davydov authored
    We may close the master before reading the slave if the child runs first
    when the parent wakes it up using task_waiter_complete. In this case the
    subsequent read from the slave will return 0 resulting in a false
    positive test failure:
    
    13:23:42.194: 30914: ERR: pty02.c:89: read(slave) failed (errno = 11 (Resource temporarily unavailable))
    
    Fix this by waking the child, which closes the master, only after the
    read has been completed.
    
    Also note errno = EAGAIN in the failure report above, which looks really
    confusing. Let's print the actual number of bytes read/written along
    with the errno while reporting a read/write failure to make the error
    reporting clearer in this test.
    Signed-off-by: 's avatarVladimir Davydov <vdavydov@parallels.com>
    Cc: Cyrill Gorcunov <gorcunov@parallels.com>
    Acked-by: 's avatarAndrew Vagin <avagin@parallels.com>
    Acked-by: 's avatarCyrill Gorcunov <gorcunov@parallels.com>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    888cae43
Name
Last commit
Last update
..
lib Loading commit data...
Makefile Loading commit data...
arm-neon00.c Loading commit data...
bind-mount.c Loading commit data...
busyloop00.c Loading commit data...
caps00.c Loading commit data...
cgroup00.c Loading commit data...
cgroup00.hook Loading commit data...
cgroup00.opts Loading commit data...
cgroup01.c Loading commit data...
cgroup01.hook Loading commit data...
cgroup01.opts Loading commit data...
cgroup02.c Loading commit data...
cgroup02.hook Loading commit data...
cgroup02.opts Loading commit data...
child_opened_proc.c Loading commit data...
chroot-file.c Loading commit data...
chroot.c Loading commit data...
clean_mntns.c Loading commit data...
cmdlinenv00.c Loading commit data...
conntracks Loading commit data...
console.c Loading commit data...
cow00.c Loading commit data...
cow01.c Loading commit data...
criu-rtc.c Loading commit data...
criu-rtc.proto Loading commit data...
cwd00.c Loading commit data...
cwd01.c Loading commit data...
cwd02.c Loading commit data...
deleted_dev.c Loading commit data...
deleted_unix_sock.c Loading commit data...
dumpable01.c Loading commit data...
dumpable02.c Loading commit data...
env00.c Loading commit data...
eventfs00.c Loading commit data...
fanotify00.c Loading commit data...
fd.c Loading commit data...
fdt_shared.c Loading commit data...
fifo-ghost.c Loading commit data...
fifo-rowo-pair.c Loading commit data...
fifo.c Loading commit data...
fifo_ro.c Loading commit data...
fifo_wronly.c Loading commit data...
file_append.c Loading commit data...
file_attr.c Loading commit data...
file_fown.c Loading commit data...
file_locks00.c Loading commit data...
file_locks00.opts Loading commit data...
file_locks01.c Loading commit data...
file_locks01.opts Loading commit data...
file_locks02.c Loading commit data...
file_locks02.opts Loading commit data...
file_locks03.c Loading commit data...
file_locks03.opts Loading commit data...
file_locks04.c Loading commit data...
file_locks04.opts Loading commit data...
file_locks05.c Loading commit data...
file_locks05.opts Loading commit data...
file_shared.c Loading commit data...
fpu00.c Loading commit data...
fpu01.c Loading commit data...
futex-rl.c Loading commit data...
futex.c Loading commit data...
get_smaps_bits.c Loading commit data...
groups.c Loading commit data...
grow_map.c Loading commit data...
grow_map02.c Loading commit data...
grow_map03.c Loading commit data...
inotify00.c Loading commit data...
inotify00.opts Loading commit data...
inotify_irmap.c Loading commit data...
inotify_system.c Loading commit data...
inotify_system_nodel.c Loading commit data...
ipc_namespace.c Loading commit data...
jobctl00.c Loading commit data...
link10.c Loading commit data...
maps00.c Loading commit data...
maps01.c Loading commit data...
maps02.c Loading commit data...
maps03.c Loading commit data...
maps04.c Loading commit data...
maps05.c Loading commit data...
maps_file_prot.c Loading commit data...
mem-touch.c Loading commit data...
mlock_setuid.c Loading commit data...
mmx00.c Loading commit data...
mntns_link_ghost.c Loading commit data...
mntns_link_remap.c Loading commit data...
mntns_link_remap.opts Loading commit data...
mntns_open.c Loading commit data...
mntns_shared_bind.c Loading commit data...
mntns_shared_bind02.c Loading commit data...
mountpoints.c Loading commit data...
mprotect00.c Loading commit data...
msgque.c Loading commit data...
mtime_mmap.c Loading commit data...
netns-nf.c Loading commit data...
netns.c Loading commit data...
overmount_dev.c Loading commit data...
overmount_fifo.c Loading commit data...
overmount_file.c Loading commit data...
overmount_sock.c Loading commit data...
packet_sock.c Loading commit data...
pdeath_sig.c Loading commit data...
pid00.c Loading commit data...
pipe00.c Loading commit data...
pipe01.c Loading commit data...
pipe02.c Loading commit data...
posix_timers.c Loading commit data...
proc-self.c Loading commit data...
pstree.c Loading commit data...
pthread00.c Loading commit data...
pthread01.c Loading commit data...
ptrace_sig.c Loading commit data...
pty00.c Loading commit data...
pty01.c Loading commit data...
pty02.c Loading commit data...
pty03.c Loading commit data...
pty04.c Loading commit data...
remap_dead_pid.c Loading commit data...
rlimits00.c Loading commit data...
rmdir_open.c Loading commit data...
route_rules Loading commit data...
rtc.c Loading commit data...
sched_policy00.c Loading commit data...
sched_prio00.c Loading commit data...
selfexe00.c Loading commit data...
sem.c Loading commit data...
session00.c Loading commit data...
session01.c Loading commit data...
session02.c Loading commit data...
session03.c Loading commit data...
shm.c Loading commit data...
sigaltstack.c Loading commit data...
signalfd00.c Loading commit data...
sigpending.c Loading commit data...
sk-netlink.c Loading commit data...
sk-unix-unconn.c Loading commit data...
sleeping00.c Loading commit data...
sock_filter.c Loading commit data...
sock_opts00.c Loading commit data...
sock_opts01.c Loading commit data...
socket-ext.c Loading commit data...
socket-ext.opts Loading commit data...
socket-tcp.c Loading commit data...
socket-tcp.opts Loading commit data...
socket-tcp6.c Loading commit data...
socket-tcp6.opts Loading commit data...
socket-tcpbuf-local.c Loading commit data...
socket-tcpbuf-local.opts Loading commit data...
socket-tcpbuf.c Loading commit data...
socket-tcpbuf.opts Loading commit data...
socket-tcpbuf6.c Loading commit data...
socket-tcpbuf6.opts Loading commit data...
socket6_udp.c Loading commit data...
socket_aio.c Loading commit data...
socket_listen.c Loading commit data...
socket_listen6.c Loading commit data...
socket_queues.c Loading commit data...
socket_udp.c Loading commit data...
socket_udplite.c Loading commit data...
sockets00.c Loading commit data...
sockets01.c Loading commit data...
sockets02.c Loading commit data...
sockets_dgram.c Loading commit data...
sockets_spair.c Loading commit data...
sse00.c Loading commit data...
sse20.c Loading commit data...
stopped.c Loading commit data...
tempfs.c Loading commit data...
timerfd.c Loading commit data...
timers.c Loading commit data...
tty00.c Loading commit data...
tty02.c Loading commit data...
tty03.c Loading commit data...
tun.c Loading commit data...
umask00.c Loading commit data...
unbound_sock.c Loading commit data...
unhashed_proc.c Loading commit data...
unlink_fifo.c Loading commit data...
unlink_fifo_wronly.c Loading commit data...
unlink_fstat00.c Loading commit data...
unlink_fstat01.c Loading commit data...
unlink_fstat02.c Loading commit data...
unlink_fstat03.c Loading commit data...
unlink_fstat03.opts Loading commit data...
unlink_largefile.c Loading commit data...
unlink_mmap00.c Loading commit data...
unlink_mmap01.c Loading commit data...
unlink_mmap02.c Loading commit data...
uptime_grow.c Loading commit data...
utsname.c Loading commit data...
vdso00.c Loading commit data...
vdso01.c Loading commit data...
wait00.c Loading commit data...
write_read00.c Loading commit data...
write_read01.c Loading commit data...
write_read02.c Loading commit data...
write_read10.c Loading commit data...
xids00.c Loading commit data...
zombie00.c Loading commit data...