diff options
author | Guido van Rossum <guido@python.org> | 1996-08-20 20:23:34 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-08-20 20:23:34 (GMT) |
commit | 0f6a3bf4900d8a7dfff44713fa9719bbd3041321 (patch) | |
tree | 64a12821ba41ca3a49ffbdb982b132196f6d9c75 /Lib/posixfile.py | |
parent | f85de8a440f56c5e7ac40ff623d6099f34b9e281 (diff) | |
download | cpython-0f6a3bf4900d8a7dfff44713fa9719bbd3041321.zip cpython-0f6a3bf4900d8a7dfff44713fa9719bbd3041321.tar.gz cpython-0f6a3bf4900d8a7dfff44713fa9719bbd3041321.tar.bz2 |
Added locking hacks for AIX
Diffstat (limited to 'Lib/posixfile.py')
-rw-r--r-- | Lib/posixfile.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/posixfile.py b/Lib/posixfile.py index 64cda98..f0df543 100644 --- a/Lib/posixfile.py +++ b/Lib/posixfile.py @@ -174,11 +174,15 @@ class _posixfile_: elif len(args) > 3: raise TypeError, 'too many arguments' - # Hack by davem@magnet.com to get locking to go on freebsd + # Hack by davem@magnet.com to get locking to go on freebsd; + # additions for AIX by Vladimir.Marangozov@imag.fr import sys, os if sys.platform == 'freebsd2': flock = struct.pack('lxxxxlxxxxlhh', \ l_start, l_len, os.getpid(), l_type, l_whence) + elif sys.platform in ['aix3', 'aix4']: + flock = struct.pack('hhlllii', \ + l_type, l_whence, l_start, l_len, 0, 0, 0) else: flock = struct.pack('hhllhh', \ l_type, l_whence, l_start, l_len, 0, 0) @@ -189,6 +193,9 @@ class _posixfile_: if sys.platform == 'freebsd2': l_start, l_len, l_pid, l_type, l_whence = \ struct.unpack('lxxxxlxxxxlhh', flock) + elif sys.platform in ['aix3', 'aix4']: + l_type, l_whence, l_start, l_len, l_sysid, l_pid, l_vfs = \ + struct.unpack('hhlllii', flock) else: l_type, l_whence, l_start, l_len, l_sysid, l_pid = \ struct.unpack('hhllhh', flock) |