PDA

View Full Version : write() File descriptor bei 2. Aufruf



elmaro
30-08-07, 08:38
Hallo liebes forum,

hab mal wieder ein API Problem:
Hab ein kleines Programm geschrieben, welches eine Textdatei öffnet, schreibt, schliesst (open, write, close).
Dieses Programm wird aus einem anderen Pgm heraus aufgerufen und funktioniert super.

Beim 2. Aufruf wird zwar die Datei geöffnet, aber keine Sätze geschrieben.
Wenn ich die Sitzung beende (Job beenden) und das Programm unter einem anderen Job laufen lasse, funktioniert das wieder nur beim 1. Aufruf.

was kann hier das problem sein?
danke für denkanstösse.....

Fuerchau
30-08-07, 12:09
Die Beschreibung ist etwas dürftig, aber ich gehe hier einfach von einem Logik-Fehler aus.

elmaro
30-08-07, 12:21
stimmt, etwas dürftige Beschreibung.

Programmsyntax:
--> datei öffen
eval fd = open(pathptr: oflag: omode: cp_file: cp_open)
--> Sätze schreiben mit
callp write(fd: bufPtr: %LEN(%TRIMR(buf)))
--> schliessen
callp close(fd)


1. Aufruf:
Textdatei auf root wird incl. Sätze korrekt geschrieben.

2. Aufruf des Programmes (neuer Dateiname):
--> Datei wird auf root geöffnet
--> Sätze werden nicht geschrieben (Dateigrösse 0 Byte).


Programm funktioniert erst wieder, wenn es unter anderem Job aufgerufen wird.
(z.b. Sitzung beenden).