commit - 6f690542b3c62116a0d6a6e2788721d6e55d87b1
commit + 490ff848f418b6818c557be1f48022090414eb25
blob - 2bb41335492b33d1bd58f9bac45d99679d210051
blob + 264f82269384d4b7fee7add1d3b756432256ccf8
--- log.c
+++ log.c
#include <syslog.h>
#include <errno.h>
#include <fcntl.h>
+#include <unistd.h>
#include <time.h>
#include "log.h"
fatalx("Cannot open error log: %s", _PATH_TWIND_ACCESS_LOG);
return;
+}
+
+void
+close_twind_logs(void)
+{
+ close(access_fd);
+ close(error_fd);
}
void
blob - 642b40a2898c4029b041e5f9d39fd63797787368
blob + 496672085297e44af8d752fe6813ac15150ba64e
--- twind.c
+++ twind.c
if (sub_pid == -1) {
if (errno == ECHILD) {
/* All sub processes are terminated */
+ close_twind_logs();
log_debug("twind turns to dust");
exit(0);
} else {
ret = get_path_from_request(request, finalpath);
if (ret == -1) { /* Malformed request */
+ log_error(cc, "Malformed request");
send_non_success_response(cc->ssl_peer, STATUS_BAD_REQUEST);
return NULL;
} else if (ret == -2) { /* 404 */
+ log_error(cc, "Request file not found");
send_non_success_response(cc->ssl_peer, STATUS_NOT_FOUND);
return NULL;
}
blob - d6a186e30830edb922fdb1e4787859b34daedff0
blob + 04544300ea5a27dd7c3abc7466ea3261042fb118
--- twind.h
+++ twind.h
/* log.c */
void open_twind_logs(void);
+void close_twind_logs(void);
void log_access(const struct client_connection *, const char *, ...);
+void log_error(const struct client_connection *, const char *, ...);
void user_log(int, const char *, ...);
#endif