summaryrefslogtreecommitdiffstats
path: root/mbbsd/mbbsd.c
diff options
context:
space:
mode:
authorvictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-09-10 08:49:47 +0800
committervictor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2004-09-10 08:49:47 +0800
commit540cfa70e8e8b4db3cc2addccfcbeeb69fffa033 (patch)
tree6a4dec7d69249e48a6f79c4436eb634cb28744b2 /mbbsd/mbbsd.c
parenta8a0ef3c4d10bf576054dc26348d9b4e6efeecc2 (diff)
downloadpttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.tar
pttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.tar.gz
pttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.tar.bz2
pttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.tar.lz
pttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.tar.xz
pttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.tar.zst
pttbbs-540cfa70e8e8b4db3cc2addccfcbeeb69fffa033.zip
merge back from branch victor.solaris
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2189 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/mbbsd.c')
-rw-r--r--mbbsd/mbbsd.c45
1 files changed, 25 insertions, 20 deletions
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c
index eb935696..eb6ae50f 100644
--- a/mbbsd/mbbsd.c
+++ b/mbbsd/mbbsd.c
@@ -1007,17 +1007,17 @@ start_client()
login_start_time = time(0);
currmode = 0;
- signal(SIGHUP, abort_bbs);
- signal(SIGTERM, abort_bbs);
- signal(SIGPIPE, abort_bbs);
-
- signal(SIGINT, abort_bbs_debug);
- signal(SIGQUIT, abort_bbs_debug);
- signal(SIGILL, abort_bbs_debug);
- signal(SIGABRT, abort_bbs_debug);
- signal(SIGFPE, abort_bbs_debug);
- signal(SIGBUS, abort_bbs_debug);
- signal(SIGSEGV, abort_bbs_debug);
+ Signal(SIGHUP, abort_bbs);
+ Signal(SIGTERM, abort_bbs);
+ Signal(SIGPIPE, abort_bbs);
+
+ Signal(SIGINT, abort_bbs_debug);
+ Signal(SIGQUIT, abort_bbs_debug);
+ Signal(SIGILL, abort_bbs_debug);
+ Signal(SIGABRT, abort_bbs_debug);
+ Signal(SIGFPE, abort_bbs_debug);
+ Signal(SIGBUS, abort_bbs_debug);
+ Signal(SIGSEGV, abort_bbs_debug);
signal_restart(SIGUSR1, talk_request);
signal_restart(SIGUSR2, write_request);
@@ -1029,7 +1029,7 @@ start_client()
exit(1);
do_term_init();
- signal(SIGALRM, abort_bbs);
+ Signal(SIGALRM, abort_bbs);
alarm(600);
login_query(); /* Ptt 加上login time out */
@@ -1042,7 +1042,7 @@ start_client()
b_closepolls();
SHM->close_vote_time = now;
}
- signal(SIGALRM, SIG_IGN);
+ Signal(SIGALRM, SIG_IGN);
domenu(MMENU, "主功\能表", (currutmp->mailalert ? 'M' : 'C'), cmdlist);
}
@@ -1122,7 +1122,7 @@ getremotename(struct sockaddr_in * from, char *rhost, char *rname)
hp = NULL;
if (setjmp(byebye) == 0) {
- signal(SIGALRM, timeout);
+ Signal(SIGALRM, timeout);
alarm(3);
hp = gethostbyaddr((char *)&from->sin_addr, sizeof(struct in_addr),
from->sin_family);
@@ -1153,7 +1153,7 @@ getremotename(struct sockaddr_in * from, char *rhost, char *rname)
}
/* Set up a timer so we won't get stuck while waiting for the server. */
if (setjmp(byebye) == 0) {
- signal(SIGALRM, timeout);
+ Signal(SIGALRM, timeout);
alarm(RFC931_TIMEOUT);
/*
@@ -1251,11 +1251,11 @@ main(int argc, char *argv[], char *envp[])
start_time = time(NULL);
/* avoid SIGPIPE */
- signal(SIGPIPE, SIG_IGN);
+ Signal(SIGPIPE, SIG_IGN);
/* avoid erroneous signal from other mbbsd */
- signal(SIGUSR1, SIG_IGN);
- signal(SIGUSR2, SIG_IGN);
+ Signal(SIGUSR1, SIG_IGN);
+ Signal(SIGUSR2, SIG_IGN);
attach_SHM();
if( (argc == 3 && shell_login(argc, argv, envp)) ||
@@ -1362,17 +1362,22 @@ daemon_login(int argc, char *argv[], char *envp[])
#endif
#endif
- snprintf(buf, sizeof(buf), "run/mbbsd.%d.%d.pid", listen_port, getpid());
+ snprintf(buf, sizeof(buf), "run/mbbsd.%d.%d.pid", listen_port, (int)getpid());
if ((fp = fopen(buf, "w"))) {
- fprintf(fp, "%d\n", getpid());
+ fprintf(fp, "%d\n", (int)getpid());
fclose(fp);
}
/* main loop */
while( 1 ){
len_of_sock_addr = sizeof(xsin);
+#if defined(Solaris) && __OS_MAJOR_VERSION__ == 5 && __OS_MINOR_VERSION__ < 7
+ if( (csock = accept(msock, (struct sockaddr *)&xsin,
+ &len_of_sock_addr)) < 0 ){
+#else
if( (csock = accept(msock, (struct sockaddr *)&xsin,
(socklen_t *)&len_of_sock_addr)) < 0 ){
+#endif
if (errno != EINTR)
sleep(1);
continue;