tdb_chainlock: check returns for 0, not -1.
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 20 Jun 2011 09:10:31 +0000 (18:40 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 20 Jun 2011 09:18:35 +0000 (11:18 +0200)
TDB2 returns a negative error number on failure.  This is compatible
if we always check for != 0 instead of == -1.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
source3/lib/messages_local.c
source3/lib/util_tdb.c
source3/libsmb/smb_share_modes.c
source3/printing/printing.c

index d7f370c9e488ccb8f27042bfa304ecfb969792d6..455f3d34766ca8c7c926e0f7fab84e3afde676b6 100644 (file)
@@ -352,7 +352,7 @@ static NTSTATUS messaging_tdb_send(struct messaging_context *msg_ctx,
 
        key = message_key_pid(frame, pid);
 
-       if (tdb_chainlock(tdb->tdb, key) == -1) {
+       if (tdb_chainlock(tdb->tdb, key) != 0) {
                TALLOC_FREE(frame);
                return NT_STATUS_LOCK_NOT_GRANTED;
        }
@@ -420,7 +420,7 @@ static NTSTATUS retrieve_all_messages(TDB_CONTEXT *msg_tdb,
        TDB_DATA key = message_key_pid(mem_ctx, id);
        NTSTATUS status;
 
-       if (tdb_chainlock(msg_tdb, key) == -1) {
+       if (tdb_chainlock(msg_tdb, key) != 0) {
                TALLOC_FREE(key.dptr);
                return NT_STATUS_LOCK_NOT_GRANTED;
        }
index f0fc8cd29b334ba6391696d03671f3c72d437c23..e78dbec704f38dbb9603af56ff9a17ea6afb3be9 100644 (file)
@@ -78,7 +78,7 @@ static int tdb_chainlock_with_timeout_internal( TDB_CONTEXT *tdb, TDB_DATA key,
                }
        }
 
-       return ret;
+       return ret == 0 ? 0 : -1;
 }
 
 /****************************************************************************
index e891b960d8ad4c82e5c3295f495a8556cbe40638..86e1a81ef121e54b0fb45db22556e93ce0918823 100644 (file)
@@ -122,7 +122,7 @@ int smb_lock_share_mode_entry(struct smbdb_ctx *db_ctx,
 {
        struct locking_key lk;
        return tdb_chainlock(db_ctx->smb_tdb, get_locking_key(&lk, dev, ino,
-                                                             extid));
+                                                             extid)) == 0 ? 0 : -1;
 }
 
 int smb_unlock_share_mode_entry(struct smbdb_ctx *db_ctx,
index 6dbb560e43fc0c2666a6a770140afb6a48275828..6503407f82c71ae7e43e5138b3bbf6399f41d288 100644 (file)
@@ -605,7 +605,7 @@ static bool remove_from_jobs_changed(const char* sharename, uint32_t jobid)
 
        key = string_tdb_data("INFO/jobs_changed");
 
-       if (tdb_chainlock_with_timeout(pdb->tdb, key, 5) == -1)
+       if (tdb_chainlock_with_timeout(pdb->tdb, key, 5) != 0)
                goto out;
 
        gotlock = True;