]> andersk Git - moira.git/blobdiff - gen/prlogger.dc
increase size of machine hash table
[moira.git] / gen / prlogger.dc
index 6c616c260568dd5c4a5203970ec0fd277dc03d50..9bed6406d2dfe3561e3e4364ab095f126bc6fce7 100644 (file)
@@ -27,13 +27,14 @@ char **argv;
     FILE *out = stdout;
     char *outf = NULL, outft[64];
     struct stat sb;
-    int flag;
+    int flag, ret;
     EXEC SQL BEGIN DECLARE SECTION;
     char login[9], class[9];
     EXEC SQL END DECLARE SECTION;
 
 #ifsql INGRES
     EXEC SQL CONNECT moira;
+    EXEC SQL SET LOCKMODE SESSION WHERE LEVEL=TABLE, READLOCK=SHARED;
 #endsql
 #ifsql INFORMIX
     EXEC SQL DATABASE moira;
@@ -41,8 +42,13 @@ char **argv;
 
     if (argc == 2) {
        if (stat(argv[1], &sb) == 0) {
-           if (ModDiff (&flag, "users", sb.st_mtime))
-             exit(MR_DATE);
+           if (ModDiff (&flag, "users", sb.st_mtime)) {
+               if (sqlca.sqlcode == -37000 ||
+                   sqlca.sqlcode == -49900)
+                 exit(MR_DEADLOCK);
+               else
+                 exit(MR_DATE);                  
+           }
            if (flag < 0) {
                fprintf(stderr, "File %s does not need to be rebuilt.\n",
                        argv[1]);
@@ -93,6 +99,10 @@ char **argv;
 
  sqlerr:
     com_err(whoami, MR_INGRES_ERR, " code %d\n", sqlca.sqlcode);
+#ifsql INGRES
+    if (sqlca.sqlcode == 17700 || sqlca.sqlcode == -37000)
+      exit(MR_DEADLOCK);
+#endsql
     critical_alert("DCM", "PrLogger build encountered INGRES ERROR %d",
                   sqlca.sqlcode);
     exit(MR_INGRES_ERR);
This page took 0.07798 seconds and 4 git commands to generate.