diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2002-07-05 03:46:16 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2002-07-05 03:46:16 +0800 |
commit | 849e8bdccab33fa65d599b8f0bddf8819f499553 (patch) | |
tree | a9376a18fae9b4774b68d28ec7b0a8061dc4128c | |
parent | d5c9ccc6c80d8aa8ed5ba8533ddfb9629c55b237 (diff) | |
download | pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.tar pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.tar.gz pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.tar.bz2 pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.tar.lz pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.tar.xz pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.tar.zst pttbbs-849e8bdccab33fa65d599b8f0bddf8819f499553.zip |
remove mmap
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@411 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | include/proto.h | 4 | ||||
-rw-r--r-- | mbbsd/cache.c | 19 | ||||
-rw-r--r-- | mbbsd/mbbsd.c | 6 | ||||
-rw-r--r-- | mbbsd/passwd.c | 4 |
4 files changed, 8 insertions, 25 deletions
diff --git a/include/proto.h b/include/proto.h index 2f916219..5e3d8f91 100644 --- a/include/proto.h +++ b/include/proto.h @@ -1,4 +1,4 @@ -/* $Id: proto.h,v 1.23 2002/06/26 09:51:33 ptt Exp $ */ +/* $Id: proto.h,v 1.24 2002/07/04 19:46:14 in2 Exp $ */ #ifndef INCLUDE_PROTO_H #define INCLUDE_PROTO_H @@ -550,7 +550,7 @@ int Goodbye(); unsigned StringHash(unsigned char *s); /* passwd */ -int passwd_mmap(); +int passwd_init(); int passwd_update(int num, userec_t *buf); int passwd_query(int num, userec_t *buf); int passwd_apply(int (*fptr)(userec_t *)); diff --git a/mbbsd/cache.c b/mbbsd/cache.c index 9b14eb8a..206b39e3 100644 --- a/mbbsd/cache.c +++ b/mbbsd/cache.c @@ -1,4 +1,4 @@ -/* $Id: cache.c,v 1.39 2002/06/26 01:55:30 in2 Exp $ */ +/* $Id: cache.c,v 1.40 2002/07/04 19:46:16 in2 Exp $ */ #include "bbs.h" #ifndef __FreeBSD__ @@ -56,19 +56,6 @@ void *attach_shm(int shmkey, int shmsize) { void *shmptr; int shmid; - char *empty_addr; - /* set up one page in-accessible -- jochang */ - { - int fd = open("/dev/zero",O_RDONLY); - int size = ((shmsize + 4095) / 4096) * 4096; - - munmap( - (empty_addr=mmap(0,4096+size,PROT_NONE,MAP_PRIVATE,fd,0))+4096 - ,size); - - close(fd); - } - shmid = shmget(shmkey, shmsize, 0); if(shmid < 0) { shmid = shmget(shmkey, shmsize, IPC_CREAT | 0600); @@ -83,10 +70,6 @@ void *attach_shm(int shmkey, int shmsize) { attach_err(shmkey, "shmat"); } - /* unmap the page -- jochang */ - { - munmap(empty_addr,4096); - } return shmptr; } diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c index 2b33fc2c..ae560338 100644 --- a/mbbsd/mbbsd.c +++ b/mbbsd/mbbsd.c @@ -1,4 +1,4 @@ -/* $Id: mbbsd.c,v 1.36 2002/06/30 14:33:14 in2 Exp $ */ +/* $Id: mbbsd.c,v 1.37 2002/07/04 19:46:16 in2 Exp $ */ #include "bbs.h" #define SOCKET_QLEN 4 @@ -956,8 +956,8 @@ start_client () dup2 (0, 1); - /* mmap passwd file */ - if (passwd_mmap ()) + /* initialize passwd semaphores */ + if( passwd_init() ) exit (1); do_term_init (); diff --git a/mbbsd/passwd.c b/mbbsd/passwd.c index 4291fa3e..06a26d32 100644 --- a/mbbsd/passwd.c +++ b/mbbsd/passwd.c @@ -1,4 +1,4 @@ -/* $Id: passwd.c,v 1.5 2002/07/02 19:17:31 in2 Exp $ */ +/* $Id: passwd.c,v 1.6 2002/07/04 19:46:16 in2 Exp $ */ #include "bbs.h" static int semid = -1; @@ -20,7 +20,7 @@ union semun { }; #endif -int passwd_mmap() { +int passwd_init() { semid = semget(PASSWDSEM_KEY, 1, SEM_R | SEM_A | IPC_CREAT | IPC_EXCL); if(semid == -1) { if(errno == EEXIST) { |