Download raw body.
gotwebd: lower log priority of disconnections
we're pretty loud when reporting write failures in fcgi socket (and
what these causes later, i.e. various GOT_ERR_CANCELLED.) While we
have to handle the disconnection and stop doing work, I don't really
see the point in logging these by default. A client that disconnects
earlier is not that of a big deal.
So, diff below turns the log_warn("write failure") into log_debug, so
you can still see them when running with -v, and don't log the
GOT_ERR_CANCELLED that we use to signal our callers to stop.
ok?
diff /home/op/w/gotacl
commit - 29efeeddc18828c36f1a6df50e05297a51a1a396
path + /home/op/w/gotacl
blob - 7ef1dc685a64c90fa69ff126536248ae78ed21dc
file + gotwebd/fcgi.c
--- gotwebd/fcgi.c
+++ gotwebd/fcgi.c
@@ -435,7 +435,8 @@ send_response(struct request *c, int type, const uint8
nanosleep(&ts, NULL);
continue;
}
- log_warn("%s: write failure", __func__);
+ log_debug("%s: write failure: %s", __func__,
+ strerror(errno));
c->sock->client_status = CLIENT_DISCONNECT;
return -1;
}
blob - 29ec61186a821e0c8822b71b3de449927f04af1c
file + gotwebd/got_operations.c
--- gotwebd/got_operations.c
+++ gotwebd/got_operations.c
@@ -782,7 +782,8 @@ got_output_repo_tree(struct request *c,
free(commit_id);
free(tree_id);
if (error) {
- log_warnx("%s: %s", __func__, error->msg);
+ if (error->code != GOT_ERR_CANCELLED)
+ log_warnx("%s: %s", __func__, error->msg);
return -1;
}
return 0;
@@ -887,15 +888,11 @@ got_output_blob_by_lines(struct template *tp, struct g
ssize_t linelen = 0;
for (;;) {
+ lineno++;
err = got_object_blob_getline(&line, &linelen, &linesize,
blob);
- if (err || linelen == -1)
+ if (err || linelen == -1 || cb(tp, line, lineno) == -1)
break;
- lineno++;
- if (cb(tp, line, lineno) == -1) {
- err = got_error(GOT_ERR_CANCELLED);
- break;
- }
}
free(line);
blob - 8fe5040921e4af979d40b487a1e97faf222e21d6
file + gotwebd/pages.tmpl
--- gotwebd/pages.tmpl
+++ gotwebd/pages.tmpl
@@ -919,11 +919,11 @@ static inline int rss_author(struct template *, char *
{{ "\n" }}
{!
err = got_output_file_blame(c, &blame_line);
- if (err) {
+ if (err && err->code != GOT_ERR_CANCELLED)
log_warnx("%s: got_output_file_blame: %s", __func__,
err->msg);
+ if (err)
return (-1);
- }
!}
</div>
</div>
gotwebd: lower log priority of disconnections