[log] close logs files more intensively.
This commit is contained in:
parent
7af35a3018
commit
5ae1c1dec5
15
src/irc.c
15
src/irc.c
@ -132,12 +132,12 @@ list_t *channel_name_list(struct channel *c)
|
||||
if (ovmask & NICKOP)
|
||||
strcat(str, "@");
|
||||
else if (ovmask & NICKHALFOP)
|
||||
strncat(str, "%");
|
||||
strcat(str, "%");
|
||||
else if (ovmask & NICKVOICED)
|
||||
strcat(str, "+");
|
||||
len++;
|
||||
|
||||
strncat(str, nick);
|
||||
strcat(str, nick);
|
||||
len += strlen(nick);
|
||||
assert(len < NAMESIZE);
|
||||
}
|
||||
@ -1058,12 +1058,19 @@ static int irc_cli_join(struct link_client *irc, struct line *line)
|
||||
|
||||
static int irc_cli_part(struct link_client *irc, struct line *line)
|
||||
{
|
||||
struct chan_info *ci;
|
||||
char *cname;
|
||||
|
||||
if (irc_line_count(line) != 2 && irc_line_count(line) != 3)
|
||||
return ERR_PROTOCOL;
|
||||
|
||||
struct chan_info *ci;
|
||||
cname = irc_line_elem(line, 1);
|
||||
|
||||
log_reset_store(LINK(irc)->log, cname);
|
||||
log_drop(LINK(irc)->log, cname);
|
||||
|
||||
if ((ci = hash_remove_if_exists(&LINK(irc)->chan_infos,
|
||||
irc_line_elem(line, 1))) != NULL) {
|
||||
cname)) != NULL) {
|
||||
list_remove(&LINK(irc)->chan_infos_order, ci);
|
||||
free(ci->name);
|
||||
if (ci->key)
|
||||
|
@ -30,7 +30,8 @@ static int _log_write(log_t *logdata, logstore_t *lf, const char *d,
|
||||
const char *str);
|
||||
static char *_log_wrap(const char *dest, const char *line);
|
||||
void logfile_free(logfile_t *lf);
|
||||
static void log_drop(log_t *log, const char *storename);
|
||||
void log_drop(log_t *log, const char *storename);
|
||||
static void log_reset(logstore_t *store);
|
||||
|
||||
#define BOLD_CHAR 0x02
|
||||
#define LAMESTRING "!bip@" P_SERV " PRIVMSG "
|
||||
@ -179,7 +180,7 @@ void log_updatelast(logfile_t *lf)
|
||||
localtime_r(&t, &lf->last_log);
|
||||
}
|
||||
|
||||
void log_reset(logstore_t *store)
|
||||
static void log_reset(logstore_t *store)
|
||||
{
|
||||
logfile_t *olf;
|
||||
|
||||
@ -669,7 +670,7 @@ void log_store_free(logstore_t *store)
|
||||
free(store);
|
||||
}
|
||||
|
||||
static void log_drop(log_t *log, const char *storename)
|
||||
void log_drop(log_t *log, const char *storename)
|
||||
{
|
||||
logstore_t *store;
|
||||
|
||||
|
@ -96,11 +96,11 @@ void log_client_connected(log_t *logdata);
|
||||
int log_has_backlog(log_t *logdata, const char *destination);
|
||||
void log_flush_all(void);
|
||||
void log_client_none_connected(log_t *logdata);
|
||||
void log_reset(logstore_t *);
|
||||
void log_reset_all(log_t *logdata);
|
||||
void log_free(log_t *log);
|
||||
int check_dir(char *filename, int is_fatal);
|
||||
void log_reset_store(log_t *log, const char *storename);
|
||||
void log_drop(log_t *log, const char *storename);
|
||||
|
||||
list_t *log_backlogs(log_t *log);
|
||||
list_t *backlog_lines(log_t *log, const char *bl, const char *cli_nick,
|
||||
|
Loading…
Reference in New Issue
Block a user