I've posted the following Problem with V 5.4000 as Bug:
Bhaskar marked this as Closed/Invalid. What does this mean?
Isn't it a bug?
root@linux2:/tmp# ls -l
-rw-r-r- 1 root root 0 2010-02-14 20:25 test
GTM>S DEV="/tmp/test" O DEV:READONLY U DEV S X=$ZEOF C DEV W X
This happens in the new Version 5.4
Yes, it means it is not a bug. There previously was a bug, which is now fixed.
I really don't understand this.
When i'm opening a file and there's nothing more to read I would expect $ZEOF to be set as true. This was the behaviour of all Verions <5.4000 also. But you are the Guru :-) …
The semantics are that a process has to attempt a READ from a file before it can know that it is at the EOF. It was a bug that GT.M was setting $ZEOF before that READ.
Thank you for the fast answer. I've had a look in the manual and saw that you are principially right, but i don't see the disadvantage of the old behaviour. I'd say the old behaviour wasn't a bug, it was a feature.
The old behavior was inconsistent. The new behavior (a) matches the documented behavior, (b) is consistent, and (C) makes customer applications run correctly. Unfortunately, your code seems to have been hit by the law of unintended consequences of fixing a bug (or it feels to you like removing a feature). My regrets, Jens.