version 1.255, 2017/08/26 15:55:46 |
version 1.256, 2017/08/26 20:38:14 |
Line 2152 dbwrite(struct dba *dba) |
|
Line 2152 dbwrite(struct dba *dba) |
|
say("", "&%s", tfn); |
say("", "&%s", tfn); |
return; |
return; |
} |
} |
cp1 = cp2 = NULL; |
cp1 = cp2 = MAP_FAILED; |
fd1 = fd2 = -1; |
fd1 = fd2 = -1; |
(void)strlcat(tfn, "/" MANDOC_DB, sizeof(tfn)); |
(void)strlcat(tfn, "/" MANDOC_DB, sizeof(tfn)); |
if (dba_write(tfn, dba) == -1) { |
if (dba_write(tfn, dba) == -1) { |
Line 2178 dbwrite(struct dba *dba) |
|
Line 2178 dbwrite(struct dba *dba) |
|
if (sb1.st_size != sb2.st_size) |
if (sb1.st_size != sb2.st_size) |
goto err; |
goto err; |
if ((cp1 = mmap(NULL, sb1.st_size, PROT_READ, MAP_PRIVATE, |
if ((cp1 = mmap(NULL, sb1.st_size, PROT_READ, MAP_PRIVATE, |
fd1, 0)) == NULL) { |
fd1, 0)) == MAP_FAILED) { |
say(MANDOC_DB, "&mmap"); |
say(MANDOC_DB, "&mmap"); |
goto err; |
goto err; |
} |
} |
if ((cp2 = mmap(NULL, sb2.st_size, PROT_READ, MAP_PRIVATE, |
if ((cp2 = mmap(NULL, sb2.st_size, PROT_READ, MAP_PRIVATE, |
fd2, 0)) == NULL) { |
fd2, 0)) == MAP_FAILED) { |
say(tfn, "&mmap"); |
say(tfn, "&mmap"); |
goto err; |
goto err; |
} |
} |
|
|
say(MANDOC_DB, "Data changed, but cannot replace database"); |
say(MANDOC_DB, "Data changed, but cannot replace database"); |
|
|
out: |
out: |
if (cp1 != NULL) |
if (cp1 != MAP_FAILED) |
munmap(cp1, sb1.st_size); |
munmap(cp1, sb1.st_size); |
if (cp2 != NULL) |
if (cp2 != MAP_FAILED) |
munmap(cp2, sb2.st_size); |
munmap(cp2, sb2.st_size); |
if (fd1 != -1) |
if (fd1 != -1) |
close(fd1); |
close(fd1); |