Remove cat_ignore_eagain (#9531)
Summary: ... since it was only necessary to work around a bug on certain Ubuntu 16.04 images (and we now use 20.04 across the board). Pull Request resolved: https://github.com/facebook/rocksdb/pull/9531 Test Plan: Watch CI. Reviewed By: ajkr Differential Revision: D34089424 Pulled By: ltamasi fbshipit-source-id: f15f86332c119099f61b9bdc74604657fc5d964emain
parent
68a9c186d0
commit
2ee25e8846
@ -1,54 +0,0 @@ |
||||
#! /bin/bash |
||||
|
||||
# Work around issue with parallel make output causing random error, as in |
||||
# make[1]: write error: stdout |
||||
# Probably due to a kernel bug: |
||||
# https://bugs.launchpad.net/ubuntu/+source/linux-signed/+bug/1814393 |
||||
# Seems to affect image ubuntu-1604:201903-01 and ubuntu-1604:202004-01 |
||||
|
||||
cd "$(dirname $0)" |
||||
|
||||
if [ ! -x cat_ignore_eagain.out ]; then |
||||
cc -x c -o cat_ignore_eagain.out - << EOF |
||||
#include <unistd.h> |
||||
#include <errno.h> |
||||
#include <stdio.h> |
||||
int main() { |
||||
int n, m, p; |
||||
char buf[1024]; |
||||
for (;;) { |
||||
n = read(STDIN_FILENO, buf, 1024); |
||||
if (n > 0 && n <= 1024) { |
||||
for (m = 0; m < n;) { |
||||
p = write(STDOUT_FILENO, buf + m, n - m); |
||||
if (p < 0) { |
||||
if (errno == EAGAIN) { |
||||
// ignore but pause a bit |
||||
usleep(100); |
||||
} else { |
||||
perror("write failed"); |
||||
return 42; |
||||
} |
||||
} else { |
||||
m += p; |
||||
} |
||||
} |
||||
} else if (n < 0) { |
||||
if (errno == EAGAIN) { |
||||
// ignore but pause a bit |
||||
usleep(100); |
||||
} else { |
||||
// Some non-ignorable error |
||||
perror("read failed"); |
||||
return 43; |
||||
} |
||||
} else { |
||||
// EOF |
||||
return 0; |
||||
} |
||||
} |
||||
} |
||||
EOF |
||||
fi |
||||
|
||||
exec ./cat_ignore_eagain.out |
Loading…
Reference in new issue