memory management / palloc / repalloc

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. ;)

Responses

Browse pgsql-de-allgemein by date

  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