home
/
code
/
khatus.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove a redundant assertion
[khatus.git]
/
x5
/
khatus.c
diff --git
a/x5/khatus.c
b/x5/khatus.c
index
93550a9
..
fad3994
100644
(file)
--- a/
x5/khatus.c
+++ b/
x5/khatus.c
@@
-57,10
+57,10
@@
struct Config {
};
enum read_status {
};
enum read_status {
-
FAIL_FINAL = -2
,
-
FAIL_TMP = -1
,
-
END_OF_FILE = 0
,
- END_OF_MESSAGE = 1
+
END_OF_FILE
,
+
END_OF_MESSAGE
,
+
RETRY
,
+ FAILURE
};
void
};
void
@@
-328,22
+328,21
@@
fifo_read_error(Fifo *f, char *buf)
enum read_status
fifo_read_one(Fifo *f, char *buf)
{
enum read_status
fifo_read_one(Fifo *f, char *buf)
{
- /* Initialize all to an impossible value: */
- ssize_t n = -5; /* Number of bytes read. */
- char c = -1; /* Character read. */
- int r = -1; /* Remaining unused slots in buffer range. */
+ char c; /* Character read. */
+ int r; /* Remaining unused slots in buffer range. */
for (;;) {
for (;;) {
- n = read(f->fd, &c, 1);
- assert(n >= -1 && n <= 1);
- switch (n) {
+ switch (read(f->fd, &c, 1)) {
case -1:
error("Failed to read: \"%s\". errno: %d, msg: %s\n",
f->name, errno, strerror(errno));
case -1:
error("Failed to read: \"%s\". errno: %d, msg: %s\n",
f->name, errno, strerror(errno));
- if (errno == 11)
- return FAIL_TMP;
- else
- return FAIL_FINAL;
+ switch (errno) {
+ case EINTR:
+ case EAGAIN:
+ return RETRY;
+ default:
+ return FAILURE;
+ }
case 0:
debug("%s: End of FILE\n", f->name);
f->pos_curr = f->pos_init;
case 0:
debug("%s: End of FILE\n", f->name);
f->pos_curr = f->pos_init;
@@
-418,12
+417,12
@@
fifo_read_all(Config *cfg, char *buf)
debug("reading: %s\n", f->name);
switch (fifo_read_one(f, buf)) {
case END_OF_FILE:
debug("reading: %s\n", f->name);
switch (fifo_read_one(f, buf)) {
case END_OF_FILE:
- case FAIL
_FINAL
:
+ case FAIL
URE
:
close(f->fd);
f->fd = -1;
break;
case END_OF_MESSAGE:
close(f->fd);
f->fd = -1;
break;
case END_OF_MESSAGE:
- case
FAIL_TMP
:
+ case
RETRY
:
break;
default:
assert(0);
break;
default:
assert(0);
This page took
0.021473 seconds
and
4
git commands to generate.