use MAP_PRIVATE instead of MAP_SHARED for uClinux systems (see Bug 550)

This commit is contained in:
Mike Frysinger 2006-01-04 07:31:19 +00:00
parent b92405552f
commit 5990efb795
2 changed files with 2 additions and 2 deletions

View File

@ -143,7 +143,7 @@ int rpm_main(int argc, char **argv)
mytags = rpm_gettags(rpm_fd, (int *) &tagcount); mytags = rpm_gettags(rpm_fd, (int *) &tagcount);
offset = lseek(rpm_fd, 0, SEEK_CUR); offset = lseek(rpm_fd, 0, SEEK_CUR);
if (!mytags) { printf("Error reading rpm header\n"); exit(-1); } if (!mytags) { printf("Error reading rpm header\n"); exit(-1); }
map = mmap(0, offset > getpagesize() ? (offset + offset % getpagesize()) : getpagesize(), PROT_READ, MAP_SHARED, rpm_fd, 0); // Mimimum is one page map = mmap(0, offset > getpagesize() ? (offset + offset % getpagesize()) : getpagesize(), PROT_READ, MAP_PRIVATE, rpm_fd, 0); // Mimimum is one page
if (func & rpm_install) { if (func & rpm_install) {
loop_through_files(RPMTAG_BASENAMES, fileaction_dobackup); /* Backup any config files */ loop_through_files(RPMTAG_BASENAMES, fileaction_dobackup); /* Backup any config files */
extract_cpio_gz(rpm_fd); // Extact the archive extract_cpio_gz(rpm_fd); // Extact the archive

View File

@ -68,7 +68,7 @@ static void make_device(char *path)
/* mmap the config file */ /* mmap the config file */
if (-1!=(fd=open("/etc/mdev.conf",O_RDONLY))) { if (-1!=(fd=open("/etc/mdev.conf",O_RDONLY))) {
len=lseek(fd,0,SEEK_END); len=lseek(fd,0,SEEK_END);
conf=mmap(NULL,len,PROT_READ,MAP_SHARED,fd,0); conf=mmap(NULL,len,PROT_READ,MAP_PRIVATE,fd,0);
if (conf) { if (conf) {
int line=0; int line=0;