diff options
Diffstat (limited to 'post_bug.cgi')
-rwxr-xr-x | post_bug.cgi | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/post_bug.cgi b/post_bug.cgi index 7f9f46c47..a50369592 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -237,6 +237,11 @@ foreach my $b (grep(/^bit-\d*$/, keys %::FORM)) { $sql .= ") & $::usergroupset)\n"; +# Lock tables before inserting records for the new bug into the database +# if we are using a shadow database to prevent shadow database corruption +# when two bugs get created at the same time. +SendSQL("LOCK TABLES bugs WRITE, longdescs WRITE, cc WRITE") if Param("shadowdb"); + # Add the bug report to the DB. SendSQL($sql); @@ -266,6 +271,8 @@ if (defined $::FORM{'cc'}) { } } +SendSQL("UNLOCK TABLES") if Param("shadowdb"); + # Assemble the -force* strings so this counts as "Added to this capacity" my @ARGLIST = (); if (@cc) { |