From: | Jessica Ditt <jessica(dot)ditt(at)web(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | memory management / palloc / repalloc |
Date: | 2005-06-02 21:21:37 |
Message-ID: | 1117747297.5105.48.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
ich habe einen eigenen Datentyp variabler Länge. Wenn ich nun mehrere
dieser Datentypen hintereinander hängen möchte, habe ich das Problem, ab
einer unbestimmten und auch variierenden Länge die Fehlermeldung
'server closed the connection unexpectedly' zu bekommen. (Laut Logfile
ein segmentation fault).
Über andere Mailinglistenbeiträge bin ich nun zu folgenden Erkenntnissen
gekommen, bitte korrigiert mich, wenn ich damit falsch liege:
palloc / repalloc geben bei einem Fehler nicht NULL zurück, höchstens
über elog eine Fehlermeldung. Ich bekomme in meiner Funktion keine
Fehlermeldung, aber der Speicherzugriffsfehler läßt darauf schliessen,
dass ich auf einen nicht vorhandenen Index zugreife. Gibt es einen Weg
den Erfolg von palloc bzw. repalloc zu überprüfen?
Beim Schreiben in Arrays muss ich mich ja darauf verlassen, dass der
allokierte Speicher in einem Stück vorliegt. palloc/repalloc gibt doch
nur einen Zeiger auf zusammenhängenden Speicher zurück, oder etwa nicht?
Viele Grüße
Jessica Ditt
PS: Ich bin immernoch nicht in der Lage, die Funkionalität meiner shared
objects in gdb / ddd zu debuggen. Hat jemand zufällig einen Link, wo es
für >>wirkliche dummies<< erklärt wird? Ich weiß auch nicht, warum sich
mein Geist so dagegen sträubt es zu verstehen, wie man den Debugger an
Postgres anhängt... Ich weiß, ich geh Euch auf den Keks. ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Bertheau | 2005-06-02 22:25:37 | Re: Umlaute & psql |
Previous Message | Andreas Seltenreich | 2005-06-02 18:51:15 | Re: Postgres und Quotes |