Yes, PURGELINK is designed to work like the Unix 'rm' command, which calls
unlink( ) to delete a directory entry--whether it is a hard link or a
symbolic link, whether the file is opened or not. It's necessary for POSIX
compliance, I'm pretty sure, that 'rm' and unlink() work this way.
:PURGELINK could have had different semantics, but I guess that they decided
it was simplest to make it like 'rm' -- with different file syntax.
----- Original Message -----
From: "Dave Darnell" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Thursday, December 28, 2000 3:35 PM
Subject: Re: MPE misdesign
> OK, that makes sense.
>
> Evidently on MPE the PURGELINK command can purge a hard link, like when I
> use PURGELINK and NEWLINK to effect a modification to my logonUDC while it
> is open.
>
> Is this correct?
>
> -dtd
>
>
> > -----Original Message-----
> > From: Ken Hirsch [mailto:[log in to unmask]]
> > Sent: Thursday, December 28, 2000 1:27 PM
> > To: [log in to unmask]
> > Subject: Re: MPE misdesign
> >
> >
> > There's a big difference. Even on Unix, there's a difference.
> >
> > On Unix, there are hard links and symbolic links. When the
> > number of hard
> > links to a file goes to zero and the file is not open by an
> > process, the
> > file is deleted and the space it used is freed. Hard links
> > may not point
> > across file systems (just like you can't rename across
> > volumes under MPE),
> > and hard links to directories are not permitted (except for . and ..).
> >
> > You can use symbolic links across filesystems and to
> > directories. Symbolic
> > links are only used when a process opens them. A symbolic
> > link may point to
> > a non-existent file, which is never true of a hard link.
> >
> > On MPE/iX, there is only one hard link per file. One nice
> > thing this allows
> > is that you can get the name of an open file (from the file
> > handle). On
> > Unix, all the hard links are equivalent, so a file's name is
> > indeterminate
> > if there's more than one link.
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "Dave Darnell" <[log in to unmask]>
> > To: <[log in to unmask]>
> > Sent: Thursday, December 28, 2000 3:03 PM
> > Subject: Re: MPE misdesign
> >
> >
> > > Is it not true that all files (except those created with
> > maybe an FOPEN of
> > > the form that allows a temporary unnamed file) are created
> > with a link,
> > > otherwise we wouldn't be able to reference the file by
> > name? That would
> > > mean that logically, there is no difference (other than
> > link name) between
> > > the link created by merely creating the file, and the link
> > created with
> > the
> > > NEWLINK command?
> > >
> > > Maybe an expert on the internals can give us a tutorial on the data
> > > structures involved.
> > >
> > > -d
> > >
> > > > -----Original Message-----
> > > > From: Johnson, Tracy [mailto:[log in to unmask]]
> > > > Sent: Thursday, December 28, 2000 12:50 PM
> > > > To: [log in to unmask]
> > > > Subject: Re: MPE misdesign
> > > >
> > > >
> > > > Once I came across the incongruity that PURGELINK will purge
> > > > a file whether it is a link or not.
> > > >
> > > > When I want to purge a link ONLY, I use MPEX and qualify
> > > > whether the file is a link using the logical "ISLINK"
> > > > parameter (defaults to TRUE) as follows:
> > > >
> > > > PURGELINK fileset.groupset.accountset(ISLINK)
> > > >
> > > > Tracy Johnson
> > > > MSI Schaevitz Sensors
> > > >
> > > > > Ted suggests:
> > > > >
> > > > > > Pssst, HP. Fix this instead!
> > > > > >
> > > > > > Here's my official complaint/warning/whatever about how
> > > > > :PURGE deals with
> > > > > > links. A :PURGE of a link does *not* purge the link. It
> > > > > purges the file
> > > > > > the
> > > > > > link points to. It's not at all obvious to me why one
> > > > > would want it to do
> > > > > > this and I'd rather not think too long about my recent
> > > > > experience regarding
> > > > > > why one would NOT want it to do this!
> > > > > >
> > > > > > For anyone not terribly familiar with links, be warned --
> > > > > :PURGE is not the
> > > > > > same as :RM.HPBIN.SYS (or :PURGELINK for that matter).
> > > > > >
> > > > > > For anyone else, can you give me some understanding of
> > > > why this was
> > > > > designed
> > > > > > this way?
> > > >
> > >
> >
>
|