> Subject: Executable
> To: [EMAIL PROTECTED]
> Date: Wed, 11 May 94 17:23:13 BST
> Cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED],
> [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
> Reply-To: [EMAIL PROTECTED]
> From: [EMAIL PROTECTED]
> One of my colleagues has pointed out to me a curious problem. We are
> running on an HP 700 with HP-UX 9.01, AFS 3.3.
> Suppose I write a small program that writes an output file. I compile
> the program and run it. I then edit the program, perhaps changing the
> name of the output file. 'strings -a a.out' verifies that the newly
> linked binary contains the new name. But running the program produces
> an output file with the old name.
The problem is caused by the interaction of a HP-UX patch and AFS 3.3.
It has to do with the fact that HP-UX virtual memory pages that are still
cached are not invalidated when the new program replaces the old one using
the same inode.
To work around this, we always moved the old executable to a new name and
then linked the new version (i.e., assigning a new inode). If you try the
old executable you will still see the same behavior even though a "cmp"
of the new and the old will report a successful status. The new executable
with the new inode number will do what you expect.
Contact Judi Ellis, our site contact, about specific information.
- jss
--------------------------------------------------------------------------
Jon S. Stumpf [EMAIL PROTECTED] Merrill Lynch
World Financial Center
(212) 449-0498 Phone North Tower
(212) 449-0912 Fax New York, N.Y. 10281-1315
--------------------------------------------------------------------------
If you try to