]> git.sur5r.net Git - openldap/commitdiff
Check for abandon during transaction retry
authorHoward Chu <hyc@openldap.org>
Thu, 28 Apr 2005 18:45:31 +0000 (18:45 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 28 Apr 2005 18:45:31 +0000 (18:45 +0000)
servers/slapd/back-bdb/add.c
servers/slapd/back-bdb/delete.c
servers/slapd/back-bdb/modify.c
servers/slapd/back-bdb/modrdn.c

index b8554453d920ee40d8d42e49d28bf04202ee5cc4..2c099d493f5c2e0969e58da597a6e817241eadc3 100644 (file)
@@ -95,6 +95,10 @@ retry:       /* transaction retry */
                        rs->sr_text = "internal error";
                        goto return_results;
                }
+               if ( op->o_abandon ) {
+                       rs->sr_err = SLAPD_ABANDON;
+                       goto done;
+               }
                ldap_pvt_thread_yield();
                bdb_trans_backoff( ++num_retries );
        }
index e2a8561572a2228cbb109664881101b3e9a3babc..1c7de1e3ba00ffb9fc3c19b14a6df7c561566d48 100644 (file)
@@ -83,6 +83,10 @@ retry:       /* transaction retry */
                        rs->sr_text = "internal error";
                        goto return_results;
                }
+               if ( op->o_abandon ) {
+                       rs->sr_err = SLAPD_ABANDON;
+                       goto done;
+               }
                parent_is_glue = 0;
                parent_is_leaf = 0;
                ldap_pvt_thread_yield();
index c1d6ca3d60658d469c9a14dd88ae09d892ca0a66..4b8b384b24d6640f5dac02d1ae9f1a28ec1a02d6 100644 (file)
@@ -310,6 +310,10 @@ retry:     /* transaction retry */
                        rs->sr_text = "internal error";
                        goto return_results;
                }
+               if ( op->o_abandon ) {
+                       rs->sr_err = SLAPD_ABANDON;
+                       goto done;
+               }
                ldap_pvt_thread_yield();
                bdb_trans_backoff( ++num_retries );
        }
index e5a60244399275e21da99c0fbf7df7b6c0a3ab38..7fffb27183354c21b3290f621428fb9c27fa632d 100644 (file)
@@ -103,6 +103,10 @@ retry:     /* transaction retry */
                        rs->sr_text = "internal error";
                        goto return_results;
                }
+               if ( op->o_abandon ) {
+                       rs->sr_err = SLAPD_ABANDON;
+                       goto done;
+               }
                parent_is_glue = 0;
                parent_is_leaf = 0;
                ldap_pvt_thread_yield();