Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Flock, Seek & WinNT

by hardburn (Abbot)
on Dec 30, 2002 at 17:23 UTC ( [id://223092] : note . print w/replies, xml ) Need Help??


in reply to Flock, Seek & WinNT

I suspect WinNT using NTFS can use flock() just fine. Using FAT32 probably will work, too. Hard to say if it will work on Win9[5|8], since that OS was never designed with multi-user access in mind.

In any case, stick it in there anyway. If nothing else, you can point to it and say "I did my part. If the OS didn't do its bit, that's not my fault" :)

Update: Fixed character escape problem with 'Win9[5|8]'.

Replies are listed 'Best First'.
Re: Re: Flock, Seek & WinNT
by pfaut (Priest) on Dec 30, 2002 at 17:44 UTC
    Hard to say if it will work on Win98, since that OS was never designed with multi-user access in mind.

    An operating system does not have to be multiuser to need interlocks. flock() is for controlling simultaneous access which is possible with any multitasking operating system. Windows 95/98 are both (somewhat) capable of multitasking.

    --- print map { my ($m)=1<<hex($_)&11?' ':''; $m.=substr('AHJPacehklnorstu',hex($_),1) } split //,'2fde0abe76c36c914586c';
      Hard to say if it will work on Win98, since that OS was never designed with multi-user access in mind.
      An operating system does not have to be multiuser to need interlocks. flock() is for controlling simultaneous access which is possible with any multitasking operating system. Windows 95/98 are both (somewhat) capable of multitasking.
      Yes, but still... Perl's flock() causes a fatal error on Win98:
      flock() unimplemented on this platform
      The idea to just stuff it in, "Hey I did my part", just doesn't work. Which is a shame.
      An operating system does not have to be multiuser to need interlocks.
      Agree++. Simultaneous access may be provided by a network, assuming the file in question is on a server or in a shared directory on the local machine.