source: gs2-extensions/parallel-building/trunk/src/perllib/gflock.pm@ 24626

Last change on this file since 24626 was 24626, checked in by jmt12, 13 years ago

An (almost) complete copy of the perllib directory from a (circa SEP2011) head checkout from Greenstone 2 trunk - in order to try and make merging in this extension a little easier later on (as there have been some major changes to buildcol.pl commited in the main trunk but not in the x64 branch)

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.