use MAP_PRIVATE instead of MAP_SHARED for uClinux systems (see Bug 550)
This commit is contained in:
parent
b92405552f
commit
5990efb795
@ -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
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user