exit(1);
}
break;
- case 'w':
- if (write(fd, "w", 1) == -1) {
+ case 'w': {
+ int rc;
+ if ((rc = write(fd, "w", 1)) == -1) {
perror("write");
exit(1);
}
+ /* b=3043 write() on Suse x86-64 is returning -errno
+ instead of -1, and not setting errno. */
+ if (rc < 0) {
+ fprintf(stderr, "MULTIOP: broken write() "
+ "returned %d, errno %d\n",
+ rc, errno);
+ exit(1);
+ }
break;
+ }
case 'W':
for (i = 0; i < mmap_len && mmap_ptr; i += 4096)
mmap_ptr[i] += junk++;