]> git.notmuchmail.org Git - notmuch/commitdiff
ruby: New exception Notmuch::UnbalancedAtomicError
authorAli Polatel <alip@exherbo.org>
Sat, 24 Sep 2011 12:54:45 +0000 (15:54 +0300)
committerAli Polatel <alip@exherbo.org>
Sat, 24 Sep 2011 12:54:45 +0000 (15:54 +0300)
This exception wraps NOTMUCH_STATUS_UNBALANCED_ATOMIC which was added
with the commit e59cc0031fbf84f49e32dedb9927f427d2c49309.

bindings/ruby/defs.h
bindings/ruby/init.c
bindings/ruby/status.c

index a03031699b51cb31779dcd3aecae0b2e516fc668..5446868e9be602836853951558bb40c399180e8c 100644 (file)
@@ -44,6 +44,7 @@ VALUE notmuch_rb_eFileNotEmailError;
 VALUE notmuch_rb_eNullPointerError;
 VALUE notmuch_rb_eTagTooLongError;
 VALUE notmuch_rb_eUnbalancedFreezeThawError;
 VALUE notmuch_rb_eNullPointerError;
 VALUE notmuch_rb_eTagTooLongError;
 VALUE notmuch_rb_eUnbalancedFreezeThawError;
+VALUE notmuch_rb_eUnbalancedAtomicError;
 
 ID ID_call;
 ID ID_db_create;
 
 ID ID_call;
 ID ID_db_create;
index a516ab9800d6099557660406f2155ee4d95fe8a9..72e1a478cd35b84b2d62cb36f7432db8d6fb8b25 100644 (file)
@@ -166,7 +166,14 @@ Init_notmuch(void)
      */
     notmuch_rb_eUnbalancedFreezeThawError = rb_define_class_under(mod, "UnbalancedFreezeThawError",
             notmuch_rb_eBaseError);
      */
     notmuch_rb_eUnbalancedFreezeThawError = rb_define_class_under(mod, "UnbalancedFreezeThawError",
             notmuch_rb_eBaseError);
-
+    /*
+     * Document-class: Notmuch::UnbalancedAtomicError
+     *
+     * Raised when notmuch_database_end_atomic has been called more times than
+     * notmuch_database_begin_atomic
+     */
+    notmuch_rb_eUnbalancedAtomicError = rb_define_class_under(mod, "UnbalancedAtomicError",
+            notmuch_rb_eBaseError);
     /*
      * Document-class: Notmuch::Database
      *
     /*
      * Document-class: Notmuch::Database
      *
index 3d106ca9efd76e20ed5db88e50b4031918f01895..a2bd61a733622cf1bd33b6d134fb548177ffa4e9 100644 (file)
@@ -43,6 +43,8 @@ notmuch_rb_status_raise(notmuch_status_t status)
         rb_raise(notmuch_rb_eTagTooLongError, "tag too long");
     case NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW:
         rb_raise(notmuch_rb_eUnbalancedFreezeThawError, "unbalanced freeze/thaw");
         rb_raise(notmuch_rb_eTagTooLongError, "tag too long");
     case NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW:
         rb_raise(notmuch_rb_eUnbalancedFreezeThawError, "unbalanced freeze/thaw");
+    case NOTMUCH_STATUS_UNBALANCED_ATOMIC:
+        rb_raise(notmuch_rb_eUnbalancedAtomicError, "unbalanced atomic");
     default:
         rb_raise(notmuch_rb_eBaseError, "unknown notmuch error");
     }
     default:
         rb_raise(notmuch_rb_eBaseError, "unknown notmuch error");
     }