[Vm-dev] Cog VM FilePlugin issue
Esteban Lorenzano
estebanlm at gmail.com
Fri Apr 10 09:40:31 UTC 2015
> On 10 Apr 2015, at 11:29, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>
>>
>> On 10 Apr 2015, at 09:37, Nicolai Hess <nicolaihess at web.de <mailto:nicolaihess at web.de>> wrote:
>>
>>
>>
>> 2015-04-10 5:30 GMT+02:00 Phil (list) <pbpublist at gmail.com <mailto:pbpublist at gmail.com>>:
>>
>> It appears that there's a behavior difference between recent Cog and
>> Pharo/Seaside (which I assume is just the Squeak VM?)
>>
>> No, it is pharo only.
>> Pharo changed the fileplugin because it has a different abstraction
>> for the platform file system.
>> Instead of the squeak classes FileDirectory/DirectoryEntry...
>> it uses the newer in FileSystem-/Disk/Store/Memory.
>>
>> This File API and the underlaying FilePlugin provide
>> more file attributes (Permissions and isSymlink)
>>
>>
>> VMs: <primitive:
>> 'primitiveDirectoryEntry' module: 'FilePlugin'> returns 5 values in Cog
>> and 7 in Squeak. The 6th value are the file permissions and the 7th is
>> a boolean (haven't looked to see what it represents).
>>
>> I noticed this with some Pharo and Seaside images when attempting to
>> open the world menu -> Tools -> File Browser which results in an error
>> under Cog. The cause is DiskStore #basicEntryAt: returning 2 additional
>> values that Cog currently does not:
>>
>> [plug := FilePluginPrims new.
>> path := AbsolutePath from: '/tmp'.
>> ds := DiskStore current.
>> ds basicEntryAt: path] value.
>>
>>
>> Squeak VM returns: #('tmp' 3606072933 <tel:3606072933> 3606072933 <tel:3606072933> true 0 511 false)
> as Nicolai said, this is not the squeak vm but the pharo vm (which is a Cog, too).
>
>> Cog VM returns: #('tmp' 3606072933 <tel:3606072933> 3606072933 <tel:3606072933> true 0)
>>
>> These results were obtained using the VMs from
>> http://www.seaside.st/distributions/Seaside-3.1-OneClick-Pharo2.zip <http://www.seaside.st/distributions/Seaside-3.1-OneClick-Pharo2.zip> and
>> http://www.mirandabanda.org/files/Cog/VM/VM.r3308/coglinux-15.14.3308.tgz <http://www.mirandabanda.org/files/Cog/VM/VM.r3308/coglinux-15.14.3308.tgz>
>>
>> I'm assuming this is not an intentional behavior difference. But if it
>> is, any details as to why would be appreciated…
> we added posix permissions and symlink flag.
> and we changed it not because we have a different abstraction, we changed because information was not enough.
> we will add also owner and group soon also, but most probably it will be
“most probably it will be a different primitive”… I wend for coffee without finishing the sentence ;)
>
> cheers,
> Esteban
>
>>
>> Thanks,
>> Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150410/5f9489fc/attachment.htm
More information about the Vm-dev
mailing list