xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
Commit 0d1e7915545de251eea7f3bce468647fc2df1bf9

Fixed a small locking issue (unlock without lock)
Author: Catalin(ux) M. BOIE
Author date (UTC): 2020-08-23 15:00
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2020-08-23 15:00
Parent(s): dad6cf20f9f4bdbfe2026809a404e852e7cd8e53
Signing key:
Tree: 1fb9615d9234c7665364f1b2fa9248924f73f76d
File Lines added Lines deleted
inc/struct.inc.php 4 2
File inc/struct.inc.php changed (mode: 100644) (index 130e9ca..e3f6907)
... ... function rg_sql_struct_update($db, $flags)
817 817 rg_log_enter("sql_struct_update: flags=$flags"); rg_log_enter("sql_struct_update: flags=$flags");
818 818
819 819 $ret = FALSE; $ret = FALSE;
820 $locked = FALSE;
820 821 $rollback = 0; $rollback = 0;
821 822 while (1) { while (1) {
822 823 $old = rg_sql_struct_get_current_ver($db); $old = rg_sql_struct_get_current_ver($db);
 
... ... function rg_sql_struct_update($db, $flags)
831 832 // If we cannot lock, return error // If we cannot lock, return error
832 833 if (rg_lock("schema_update.lock") === FALSE) if (rg_lock("schema_update.lock") === FALSE)
833 834 break; break;
835 $locked = TRUE;
834 836
835 837 if (rg_sql_begin($db) !== TRUE) if (rg_sql_begin($db) !== TRUE)
836 838 break; break;
837
838 839 $rollback = 1; $rollback = 1;
839 840
840 841 $r = rg_sql_struct_run($db, $flags, $old); $r = rg_sql_struct_run($db, $flags, $old);
 
... ... function rg_sql_struct_update($db, $flags)
860 861 if ($rollback == 1) if ($rollback == 1)
861 862 rg_sql_rollback($db); rg_sql_rollback($db);
862 863
863 rg_unlock("schema_update.lock");
864 if ($locked)
865 rg_unlock('schema_update.lock');
864 866
865 867 rg_log_exit(); rg_log_exit();
866 868 return $ret; return $ret;
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master