Lines Matching +full:sync +full:- +full:read
4 # SPDX-License-Identifier: BSD-2-Clause
36 # https://people.freebsd.org/~pho/stress/log/sendfile15-2.txt
39 # https://people.freebsd.org/~pho/stress/log/sendfile15-2.txt
43 [ `id -u` -ne 0 ] && echo "Must be root!" && exit 1
49 mycc -o sendfile15 -Wall -Wextra -O0 -g sendfile15.c || exit 1
50 rm -f sendfile15.c
53 set -e
54 mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint
55 [ -c /dev/md$mdstart ] && mdconfig -d -u $mdstart
56 mdconfig -a -t swap -s 2g -u $mdstart
63 (cd $odir/../testcases/swap; ./swap -t 5m -i 20 > /dev/null) &
66 while pgrep -q swap; do
70 [ -f sendfile15.core -a $s -eq 0 ] &&
71 { ls -l sendfile15.core; mv sendfile15.core $dir; s=1; }
75 mount | grep -q "on $mntpoint " || break
77 [ $i -eq 6 ] &&
78 { echo FATAL; fstat -mf $mntpoint; exit 1; }
80 mdconfig -d -u $mdstart
81 rm -rf $dir/sendfile15
108 #define SYNC 0
119 atomic_add_int(&share[SYNC], 1);
120 while (share[SYNC] != PARALLEL)
125 if ((from = open(from_name, O_RDONLY)) == -1)
126 err(1, "open read %s", from_name);
128 if ((error = fstat(from, &st)) == -1)
131 if ((error = socketpair(AF_UNIX, SOCK_STREAM, 0, sv)) == -1)
135 if (child == -1)
142 error = sendfile(from, sv[0], pos, st.st_size - pos,
144 if (error == -1) {
163 written = st.st_size - pos;
164 n = read(sv[1], buf + pos, written);
165 if (n == -1)
166 err(1, "read");
168 errx(1, "Short read");
191 MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED)
195 while ((time(NULL) - start) < RUNTIME && e == 0) {
196 share[SYNC] = 0;
200 if (pids[i] == -1)
204 if (waitpid(pids[i], &status, 0) == -1)