version 1.8, 2021/02/11 08:28:45 |
version 1.9, 2021/02/11 09:39:29 |
|
|
free(msg); |
free(msg); |
} |
} |
|
|
|
/* Check if any files have data left to write. */ |
|
int |
|
file_write_left(struct client_files *files) |
|
{ |
|
struct client_file *cf; |
|
size_t left; |
|
int waiting = 0; |
|
|
|
RB_FOREACH (cf, client_files, files) { |
|
if (cf->event == NULL) |
|
continue; |
|
left = EVBUFFER_LENGTH(cf->event->output); |
|
if (left != 0) { |
|
waiting++; |
|
log_debug("file %u %zu bytes left", cf->stream, left); |
|
} |
|
} |
|
return (waiting != 0); |
|
} |
|
|
/* Client file write error callback. */ |
/* Client file write error callback. */ |
static void |
static void |
file_write_error_callback(__unused struct bufferevent *bev, __unused short what, |
file_write_error_callback(__unused struct bufferevent *bev, __unused short what, |