From a3d7c647149dfbd694d43badef5cc704326dc45b Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 6 Jan 2019 19:18:20 -0500 Subject: Handle KCGI_HUP I hope it's okay that I keep writing to the fwopen stream after streamWrite returns -1. --- image.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/image.c b/image.c index 004b203..9ef6b22 100644 --- a/image.c +++ b/image.c @@ -165,9 +165,9 @@ static const struct kvalid Keys[KeysLen] = { [KeyY] = { .name = "y", .valid = kvalid_int }, }; -enum { PageIndex, PagesLen }; +enum { PageTile, PagesLen }; static const char *Pages[PagesLen] = { - [PageIndex] = "index", + [PageTile] = "tile", }; static noreturn void errkcgi(int eval, enum kcgi_err code, const char *str) { @@ -177,6 +177,7 @@ static noreturn void errkcgi(int eval, enum kcgi_err code, const char *str) { static int streamWrite(void *cookie, const char *buf, int len) { struct kreq *req = cookie; enum kcgi_err error = khttp_write(req, buf, (size_t)len); + if (error == KCGI_HUP) return -1; if (error) errkcgi(EX_IOERR, error, "khttp_write"); return len; } @@ -184,7 +185,7 @@ static int streamWrite(void *cookie, const char *buf, int len) { static void worker(void) { struct kfcgi *fcgi; enum kcgi_err error = khttp_fcgi_init( - &fcgi, Keys, KeysLen, Pages, PagesLen, PageIndex + &fcgi, Keys, KeysLen, Pages, PagesLen, PageTile ); if (error) errkcgi(EX_CONFIG, error, "khttp_fcgi_init"); @@ -205,22 +206,26 @@ static void worker(void) { error = khttp_head( &req, kresps[KRESP_STATUS], "%s", khttps[KHTTP_200] ); + if (error == KCGI_HUP) goto next; if (error) errkcgi(EX_IOERR, error, "khttp_head"); error = khttp_head( &req, kresps[KRESP_CONTENT_TYPE], "%s", kmimetypes[KMIME_IMAGE_PNG] ); + if (error == KCGI_HUP) goto next; if (error) errkcgi(EX_IOERR, error, "khttp_head"); error = khttp_body(&req); + if (error == KCGI_HUP) goto next; if (error) errkcgi(EX_IOERR, error, "khttp_body"); FILE *stream = fwopen(&req, streamWrite); if (!stream) err(EX_OSERR, "fwopen"); render(stream, tileX, tileY); - fclose(stream); + +next: khttp_free(&req); } } -- cgit 1.4.1 ef='/src/log/www?id=931c560140b15c07946d9061def1c6fb03f00cc3&showmsg=1&follow=1'>www/photo.causal.agency (unfollow)
Commit message (Collapse)Author
2024-12-28Update film preset list with what I expect to keep shootingJune McEnroe
2024-12-28Add the past few months of rolls of filmJune McEnroe
2024-11-13Add Tea with the Black DragonJune McEnroe
I found this in a box on the side of the road being thrown own. It's decent pulp but nothing special. Not even as racist as I expected it to be. Also as one might guess, the author using their initials is a woman, so I only broke one of my rules when it comes to book selection.
2024-11-05Add a bunch of photosJune McEnroe
2024-10-12Publish "film review"June McEnroe
2024-10-12Add photos from October 6June McEnroe
2024-10-12Add photos from October 5June McEnroe
2024-10-09Add photos from October 1June McEnroe
Ok the first 3 are from September 29 but I didn't want to spoil the black and white roll.
2024-10-07Add photos from September 29June McEnroe
2024-10-07Add photos from September 28June McEnroe
2024-10-07Add photos from September 22June McEnroe
2024-09-25Add photos from September 15June McEnroe
2024-09-24Add photos from September 14June McEnroe
2024-09-24Add photos from September 12June McEnroe
2024-09-24Add photos from September 7June McEnroe
2024-09-24Allow not having descriptionsJune McEnroe
I'm sorry, I can't keep writing descriptions. It makes posting photos take too long, I often don't know the words for what I'm looking at, and a good description is an entirely different work of art than the photo I took, and I'm just a photographer. It's visual art.
2024-09-23Automatically select the last used lens for a bodyJune McEnroe
2024-09-19Add photos from September 5June McEnroe
Had to prefix the folder number onto these file names manually because they must have come out of a different scanner or something.
2024-09-15Add some more film stocks to the listJune McEnroe
2024-09-13Add photos from September 2June McEnroe
2024-09-13Add Fomapan 200 to films listJune McEnroe
2024-09-10Add August 29 picnic photosJune McEnroe
2024-09-08Apply some bold to trips renderingJune McEnroe
This seems easier to visually scan. The only other thing I'd like is a nicer date rendering but JavaScript is useless for that.
2024-09-08Render trips hopefully more efficientlyJune McEnroe
2024-09-08Allow removing bodies and lensesJune McEnroe
2024-09-08Limit body width so it looks less silly on desktopJune McEnroe
2024-09-07Handle no film being loadedJune McEnroe
2024-09-07Fancy up the text a littleJune McEnroe