summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-03-27 09:29:08 +0800
committerkcwu <kcwu@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-03-27 09:29:08 +0800
commit7e4a044df382f797fad46e8c860f48c7ae0c340a (patch)
treeeb6780bd35895428cf22d541efb5219b0007e3e6
parent2c7fbc6db478e30200474dca9b0b16718fed4c65 (diff)
downloadpttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.tar
pttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.tar.gz
pttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.tar.bz2
pttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.tar.lz
pttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.tar.xz
pttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.tar.zst
pttbbs-7e4a044df382f797fad46e8c860f48c7ae0c340a.zip
more statistic
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2681 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--include/statistic.h12
-rw-r--r--mbbsd/bbs.c13
-rw-r--r--mbbsd/mbbsd.c9
-rw-r--r--util/shmctl.c12
4 files changed, 46 insertions, 0 deletions
diff --git a/include/statistic.h b/include/statistic.h
index 81ad937b..a2b66a85 100644
--- a/include/statistic.h
+++ b/include/statistic.h
@@ -32,6 +32,18 @@ enum { // XXX description in shmctl.c
STAT_RECOMMEND,
STAT_TODAYLOGIN_MIN,
STAT_TODAYLOGIN_MAX,
+ STAT_SIGINT,
+ STAT_SIGQUIT,
+ STAT_SIGILL,
+ STAT_SIGABRT,
+ STAT_SIGFPE,
+ STAT_SIGBUS,
+ STAT_SIGSEGV,
+ STAT_READPOST_12HR,
+ STAT_READPOST_1DAY,
+ STAT_READPOST_3DAY,
+ STAT_READPOST_7DAY,
+ STAT_READPOST_OLD,
/* insert here. don't forget update shmctl.c */
STAT_NUM,
STAT_MAX=512
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c
index 8fb5ebb2..256868ce 100644
--- a/mbbsd/bbs.c
+++ b/mbbsd/bbs.c
@@ -1157,6 +1157,19 @@ read_post(int ent, fileheader_t * fhdr, const char *direct)
if ((more_result = more(genbuf, YEA)) == -1)
return READ_SKIP;
+ {
+ int posttime=atoi(fhdr->filename+2);
+ if(posttime>now-12*3600)
+ STATINC(STAT_READPOST_12HR);
+ else if(posttime>now-1*86400)
+ STATINC(STAT_READPOST_1DAY);
+ else if(posttime>now-3*86400)
+ STATINC(STAT_READPOST_3DAY);
+ else if(posttime>now-7*86400)
+ STATINC(STAT_READPOST_7DAY);
+ else
+ STATINC(STAT_READPOST_OLD);
+ }
brc_addlist(fhdr->filename);
strncpy(currtitle, subject(fhdr->title), TTLEN);
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c
index 9a9b0ea7..d9f63df7 100644
--- a/mbbsd/mbbsd.c
+++ b/mbbsd/mbbsd.c
@@ -204,6 +204,15 @@ abort_bbs_debug(int sig)
static int reentrant = 0;
#endif
+ switch(sig) {
+ case SIGINT: STATINC(STAT_SIGINT); break;
+ case SIGQUIT: STATINC(STAT_SIGQUIT); break;
+ case SIGILL: STATINC(STAT_SIGILL); break;
+ case SIGABRT: STATINC(STAT_SIGABRT); break;
+ case SIGFPE: STATINC(STAT_SIGFPE); break;
+ case SIGBUS: STATINC(STAT_SIGBUS); break;
+ case SIGSEGV: STATINC(STAT_SIGSEGV); break;
+ }
#define CRASH_MSG "\033[0m\r\n程式異常, 立刻斷線. 請洽 PttBug 板詳述你發生的問題.\n"
/* NOTE: It's better to use signal-safe functions. Avoid to call
* functions with global/static variable -- data may be corrupted */
diff --git a/util/shmctl.c b/util/shmctl.c
index 235a5d86..dcaeadcd 100644
--- a/util/shmctl.c
+++ b/util/shmctl.c
@@ -930,6 +930,18 @@ int showstat(int argc, char *argv[])
"STAT_RECOMMEND",
"STAT_TODAYLOGIN_MIN",
"STAT_TODAYLOGIN_MAX",
+ "STAT_SIGINT",
+ "STAT_SIGQUIT",
+ "STAT_SIGILL",
+ "STAT_SIGABRT",
+ "STAT_SIGFPE",
+ "STAT_SIGBUS",
+ "STAT_SIGSEGV",
+ "STAT_READPOST_12HR",
+ "STAT_READPOST_1DAY",
+ "STAT_READPOST_3DAY",
+ "STAT_READPOST_7DAY",
+ "STAT_READPOST_OLD",
};
if(argv[1] && strcmp(argv[1],"-c")==0)