diff options
author | Andrew Tridgell <tridge@samba.org> | 1998-08-30 04:35:54 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1998-08-30 04:35:54 +0000 |
commit | 98411c48c08f6093a0b42b46c02c6544804bf98d (patch) | |
tree | 1342b4de79d99354bb66c2be1d9a0403a2f2a819 /source3/locking/shmem.c | |
parent | a6c94d7eb1a446c6281326964797a1eaf7fc6c78 (diff) | |
download | samba-98411c48c08f6093a0b42b46c02c6544804bf98d.tar.gz samba-98411c48c08f6093a0b42b46c02c6544804bf98d.tar.bz2 samba-98411c48c08f6093a0b42b46c02c6544804bf98d.zip |
- zero shared memory before freeing it
- changed the hash size to 13 (much smaller than before). This should
make for more efficient shared memory usage as it will lead to less
fragmentation.
(This used to be commit 9c1e4c2dae6323c9a1bd74148d0b45aac61e7c0a)
Diffstat (limited to 'source3/locking/shmem.c')
-rw-r--r-- | source3/locking/shmem.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/locking/shmem.c b/source3/locking/shmem.c index be8e22108a..6015085fe4 100644 --- a/source3/locking/shmem.c +++ b/source3/locking/shmem.c @@ -41,7 +41,7 @@ extern int DEBUGLEVEL; #define SHM_FILE_MODE 0644 #endif -#define SHMEM_HASH_SIZE 113 +#define SHMEM_HASH_SIZE 13 /* WARNING : offsets are used because mmap() does not guarantee that all processes have the @@ -606,6 +606,9 @@ static BOOL smb_shm_free(int offset) DEBUG(6,("smb_shm_free : freeing %d bytes at offset %d\n",header_p->size*CellSize,offset)); + /* zero the area being freed - this allows us to find bugs faster */ + memset(smb_shm_offset2addr(offset), 0, header_p->size*CellSize); + if ( scanner_p == prev_p ) { smb_shm_header_p->statistics.cells_free += header_p->size; |