svn commit: samba r14706 - in trunk/source/locking: .

jra at samba.org jra at samba.org
Sat Mar 25 02:43:43 GMT 2006


Author: jra
Date: 2006-03-25 02:43:42 +0000 (Sat, 25 Mar 2006)
New Revision: 14706

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14706

Log:
Remember to treat Windows and POSIX locks differently
on query.
Jeremy.

Modified:
   trunk/source/locking/brlock.c


Changeset:
Modified: trunk/source/locking/brlock.c
===================================================================
--- trunk/source/locking/brlock.c	2006-03-25 02:35:40 UTC (rev 14705)
+++ trunk/source/locking/brlock.c	2006-03-25 02:43:42 UTC (rev 14706)
@@ -1119,14 +1119,20 @@
 
 	/* Make sure existing locks don't conflict */
 	for (i=0; i < br_lck->num_locks; i++) {
-		/*
-		 * Our own locks don't conflict.
-		 */
-		if (brl_conflict_other(&locks[i], &lock)) {
-			*psmbpid = locks[i].context.smbpid;
-        		*pstart = locks[i].start;
-		        *psize = locks[i].size;
-        		*plock_type = locks[i].lock_type = *plock_type;
+		struct lock_struct *exlock = &locks[i];
+		BOOL conflict = False;
+
+		if (exlock->lock_flav == WINDOWS_LOCK) {
+			conflict = brl_conflict(exlock, &lock);
+		} else {	
+			conflict = brl_conflict_posix(exlock, &lock);
+		}
+
+		if (conflict) {
+			*psmbpid = exlock->context.smbpid;
+        		*pstart = exlock->start;
+		        *psize = exlock->size;
+        		*plock_type = exlock->lock_type;
 			return NT_STATUS_LOCK_NOT_GRANTED;
 		}
 	}



More information about the samba-cvs mailing list