* mmap.cc (munmap): Use correct address and length parameters when
calling fhandler's munmap.
This commit is contained in:
parent
0a0a45e22a
commit
186a0e42de
|
@ -1,3 +1,8 @@
|
||||||
|
2003-09-26 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* mmap.cc (munmap): Use correct address and length parameters when
|
||||||
|
calling fhandler's munmap.
|
||||||
|
|
||||||
2003-09-26 Corinna Vinschen <corinna@vinschen.de>
|
2003-09-26 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* spawn.cc (spawn_guts): Set errno to E2BIG if command line is
|
* spawn.cc (spawn_guts): Set errno to E2BIG if command line is
|
||||||
|
|
|
@ -679,12 +679,15 @@ munmap (void *addr, size_t len)
|
||||||
mmap_record *rec = map_list->get_record (record_idx);
|
mmap_record *rec = map_list->get_record (record_idx);
|
||||||
if (rec->unmap_pages (u_addr, u_len))
|
if (rec->unmap_pages (u_addr, u_len))
|
||||||
{
|
{
|
||||||
/* The whole record has been unmapped, so... */
|
/* The whole record has been unmapped, so we now actually
|
||||||
|
unmap it from the system in full length... */
|
||||||
fhandler_base *fh = rec->alloc_fh ();
|
fhandler_base *fh = rec->alloc_fh ();
|
||||||
fh->munmap (rec->get_handle (), (caddr_t)addr, len);
|
fh->munmap (rec->get_handle (),
|
||||||
|
rec->get_address (),
|
||||||
|
rec->get_size ());
|
||||||
rec->free_fh (fh);
|
rec->free_fh (fh);
|
||||||
|
|
||||||
/* ...delete the record. */
|
/* ...and delete the record. */
|
||||||
if (map_list->del_record (record_idx--))
|
if (map_list->del_record (record_idx--))
|
||||||
{
|
{
|
||||||
/* Yay, the last record has been removed from the list,
|
/* Yay, the last record has been removed from the list,
|
||||||
|
|
Loading…
Reference in New Issue