Added locking hacks for AIX
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 @@
 	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 @@
 	    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)