diff options
author | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-09-10 08:49:47 +0800 |
---|---|---|
committer | victor <victor@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2004-09-10 08:49:47 +0800 |
commit | 540cfa70e8e8b4db3cc2addccfcbeeb69fffa033 (patch) | |
tree | 6a4dec7d69249e48a6f79c4436eb634cb28744b2 /mbbsd/mbbsd.c | |
parent | a8a0ef3c4d10bf576054dc26348d9b4e6efeecc2 (diff) | |
download | pttbbs-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.c | 45 |
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; |