source: main/trunk/greenstone2/perllib/gflock.pm@ 32560

Last change on this file since 32560 was 15894, checked in by mdewsnip, 16 years ago

Added "use strict" to the files missing it.

  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1###########################################################################
2#
3# gflock.pm - an attempt to use flock only on those platforms
4# on which it's supported (i.e. everything but Windows 95/98)
5#
6# A component of the Greenstone digital library software
7# from the New Zealand Digital Library Project at the
8# University of Waikato, New Zealand.
9#
10# Copyright (C) 1999 New Zealand Digital Library Project
11#
12# This program is free software; you can redistribute it and/or modify
13# it under the terms of the GNU General Public License as published by
14# the Free Software Foundation; either version 2 of the License, or
15# (at your option) any later version.
16#
17# This program is distributed in the hope that it will be useful,
18# but WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20# GNU General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, write to the Free Software
24# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25#
26###########################################################################
27
28package gflock;
29
30use Fcntl ':flock';
31use strict;
32
33# returns true if successful (or if OS is a form of windows other than NT)
34sub lock {
35 my ($handle) = @_;
36
37 if ($ENV{'GSDLOS'} eq "windows" && !Win32::IsWinNT()) {
38 return 1;
39 } else {
40 return flock($handle, LOCK_EX);
41 }
42}
43
44# returns true if successful (or if OS is a form of windows other than NT)
45sub unlock {
46 my ($handle) = @_;
47
48 if ($ENV{'GSDLOS'} eq "windows" && !Win32::IsWinNT()) {
49 return 1;
50 } else {
51 return flock($handle, LOCK_UN);
52 }
53}
54
551;
Note: See TracBrowser for help on using the repository browser.