[so] siginfo + map_anonymous
Octavian Purdila
so@atlantis.cs.pub.ro
Sun, 11 Jan 2004 11:48:36 +0200
On Sat, 10 Jan 2004 21:22:12 -0800, Daniel Cosmin Porumbel
<dany@p16.pub.ro> wrote:
> Salut!
>
> Pentru Kernel 2.3.39 sau mai mic(eu am 2.2...), se pare ca semnalul
> de Seg. Fault nu completeaza si_addr. Am I right?
Da.
> Prin urmare handlerul de semnal nu stie ce pagina a produs
> Fault-ul... Ce se poate face? Oricum, am gasit indivizi care au produs
> patch-uri la chestia asta.
> http://www.ussg.iu.edu/hypermail/linux/kernel/0001.2/0035.html
> http://www.ussg.iu.edu/hypermail/linux/kernel/9908.3/0273.html
> Stie cineva cum se instaleaza un patch? Sau ce pot sa fac?
>
Solutia cea mai simpla e sa-ti pui un kernel 2.4.
> Pentru a rezerva memorie, am incercat sa folosesc mmap cu flagul
> MAP_ANONYMOUS. Si imi da eroare invalid argument pentru o combinatie de
> argumente (e vorba de address, length si offset care genereaza eroarea
> asta comform man) care mergea la un fisier normal. Combinatii
MAP_ANONYMOUS merge doar cu MAP_PRIVATE.
> malloc/free mi-au dat eroare cand am vrut sa mapez un fisier pe memoria
> gasita de malloc...Stie cineva o alta varianta de a rezerva o zona de
> memorie pt mapare?
>
Din moment ce toata memoria procesului este mapata cumva (inclusiv cea
alocate cu malloc)
nu ai cum sa mapezi un fisier peste o zona alocata cu malloc, pentru ca
asta inseamna ca
vrei sa mapezi de doua ori aceeasi in aceeasi zona din cadrul spatiului de
adresa al procesului.
> Toate bune!
> Daniel
--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/