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