Rainer Weikusat <
rwei...@mssgmbh.com> writes:
> Hermann Riemann <
nospam...@hermann-riemann.de> writes:
[...]
>> Die Bilder habe ich bisher mit der SDL-Funktion IMG_Load geladen.
>> SDL hat au�erdem den Vorteil,
>> das Joystickeingaben, Sondertasten bei Maus und Tastatur
>> f�r Bildbearbeitung leicht erfassbar sind.
>>
>> Jetzt habe ich SuSE 12.3 und da fehlte SDL_image.h.
>> Das Paket SDL_image-devel-1.2.12-1.x86_64.rpm war mit SuSE nicht
>> auffindbar und daher habe ich dieses Paket
>> �ber
http://www.libsdl.org geholt.
>>
>> Der Aufruf von IMG_Load liefert allerdings
>> statt einem Pointer die Fehlermeldung:
>> "Resource temporarily unavailable".
>
> Das ist die System-Fehlernachricht fuer EAGAIN. strace sollte hier
> Aufschluss darueber geben, welcher Systemaufruf genau
> fehlschlaegt.
Hierzu koennte man noch anmerken, das EAGAIN im gegebenen Kontext
eigentlich keinen Sinn hat. Ist es sicher, das der Funktionsaufruf
tatsaechlich fehlschlug? Oder koennte das vielleicht ein Wert sein,
der aus sonstwas fuer Gruenden zu diesem Zeitpunkt in errno
gespeichert ist und faelschlicherweise fuer einen IMG_Load-Fehlercode
gehalten wurde? Dh, sieht der Code vielleicht ungefaehr so aus:
img = IMG_load(...);
if (errno) {
perror("Run for your life!");
return NULL;
}
Wenn ja, waere das ein Fehler in der Fehlerbehandlung: 'errno' hat
grundsaetzlich nur dann eine Bedeutung wenn auf anderem Wege das
Auftreten eines Fehlers signalisiert wurde.