Lines Matching +full:sync +full:- +full:1
10 # 1. Redistributions of source code must retain the above copyright
36 # The second change closes a race where a read-only open() with O_SHLOCK or
37 # O_EXLOCK may return successfully while the write count is non-zero due to
51 [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
56 sed '1,/^EOF/d' < $odir/$0 > $dir/advlock.c
57 mycc -o advlock -Wall -Wextra -O0 -g advlock.c || exit 1
58 rm -f advlock.c
60 mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint
61 mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart
62 mdconfig -a -t swap -s 512m -u $mdstart || exit 1
72 while mount | grep "on $mntpoint " | grep -q /dev/md; do
73 umount $mntpoint || sleep 1
75 mdconfig -d -u $mdstart
76 rm -f /tmp/advlock
100 #define SYNC 0
103 #define RUNTIME (1 * 60)
109 _exit(1);
118 atomic_add_int(&share[SYNC], 1);
119 while (share[SYNC] != PARALLEL)
124 if ((fd = open(cmdline[0], O_RDONLY | O_SHLOCK)) == -1)
125 err(1, "open(%s). %d", cmdline[0], __LINE__);
138 atomic_add_int(&share[SYNC], 1);
139 while (share[SYNC] != PARALLEL)
144 if ((fd = open(cmdline[0], O_WRONLY | O_EXLOCK)) == -1) {
146 err(1, "open(%s). %d", cmdline[0], __LINE__);
161 atomic_add_int(&share[SYNC], 1);
162 while (share[SYNC] != PARALLEL)
167 if ((fd = open(cmdline[0], O_RDONLY | O_SHLOCK)) == -1)
168 err(1, "open(%s). %d", cmdline[0], __LINE__);
170 if (execve(cmdline[0], cmdline, NULL) == -1)
171 err(1, "execve(%s) @ %d", cmdline[0], __LINE__);
182 atomic_add_int(&share[SYNC], 1);
183 while (share[SYNC] != PARALLEL)
188 if ((fd = open(cmdline[0], O_RDONLY | O_EXLOCK)) == -1)
189 err(1, "open(%s). %d", cmdline[0], __LINE__);
191 if (execve(cmdline[0], cmdline, NULL) == -1)
192 err(1, "execve(%s) @ %d", cmdline[0], __LINE__);
206 -1, 0)) == MAP_FAILED)
207 err(1, "mmap");
212 while ((time(NULL) - start) < RUNTIME) {
214 share[SYNC] = 0;
222 r += s == 0 ? 0 : 1;
227 share[SYNC] = 0;
235 r += s == 0 ? 0 : 1;