summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--litterbox.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/litterbox.c b/litterbox.c
index e37f78a..1401112 100644
--- a/litterbox.c
+++ b/litterbox.c
@@ -258,21 +258,24 @@ static void handlePing(struct Message *msg) {
 
 static const struct {
 	const char *cmd;
+	bool transaction;
 	Handler *fn;
 } Handlers[] = {
-	{ "001", handleReplyWelcome },
-	{ "005", handleReplyISupport },
-	{ "CAP", handleCap },
-	{ "NOTICE", handlePrivmsg },
-	{ "PING", handlePing },
-	{ "PRIVMSG", handlePrivmsg },
+	{ "001", false, handleReplyWelcome },
+	{ "005", false, handleReplyISupport },
+	{ "CAP", false, handleCap },
+	{ "NOTICE", true, handlePrivmsg },
+	{ "PING", false, handlePing },
+	{ "PRIVMSG", true, handlePrivmsg },
 };
 
 static void handle(struct Message msg) {
 	if (!msg.cmd) return;
 	for (size_t i = 0; i < ARRAY_LEN(Handlers); ++i) {
 		if (strcmp(msg.cmd, Handlers[i].cmd)) continue;
+		dbExec(db, SQL(BEGIN TRANSACTION;));
 		Handlers[i].fn(&msg);
+		dbExec(db, SQL(COMMIT TRANSACTION;));
 		break;
 	}
 }
98947039f239607b643a0873&follow=1'>build: Add scripts to EXTRA_DISTJune McEnroe 2021-05-25import: Add missing scripts/wrap-compiler-for-flag-checkJune McEnroe 2021-05-08Import LibreSSL 3.3.3June McEnroe 2021-04-18build: Remove added x509_verify.3 links 3.3.2June McEnroe 2021-04-18tls: Use EC_KEY_set_ex_dataJune McEnroe 2021-04-18Import LibreSSL 3.3.2June McEnroe 2021-03-05Bump version to 3.3.1p1 3.3.1p1June McEnroe 2021-03-05build: Add OpenSSL includes to libcompatJune McEnroe 2020-12-15Import LibreSSL 3.3.1June McEnroe 2020-11-24Import LibreSSL 3.3.0June McEnroe 2020-10-22Import LibreSSL 3.2.2June McEnroe 2020-09-29Import LibreSSL 3.2.1June McEnroe 2020-09-29import: Add m4/ax_add_fortify_source.m4June McEnroe 2020-08-05build: Add README.7 to EXTRA_DIST 3.2.0June McEnroe 2020-08-03doc: Indicate that only OpenSSL 1.1.1b and newer workJune McEnroe