]> andersk Git - moira.git/commitdiff
Rearranged messages.
authorwesommer <wesommer>
Tue, 4 Aug 1987 01:49:20 +0000 (01:49 +0000)
committerwesommer <wesommer>
Tue, 4 Aug 1987 01:49:20 +0000 (01:49 +0000)
server/mr_main.c
server/mr_util.c
server/qrtn.qc
server/qsupport.qc

index 261fbcce9a9f5ee02cc86b6f394b558acb25f660..cb88902ca695fe75189db47d0dce903613ae2814 100644 (file)
  *     Let the reader beware.
  * 
  *     $Log$
- *     Revision 1.11  1987-07-29 16:04:54  wesommer
- *     Add keepalive feature.
+ *     Revision 1.12  1987-08-04 01:50:00  wesommer
+ *     Rearranged messages.
  *
+ * Revision 1.11  87/07/29  16:04:54  wesommer
+ * Add keepalive feature.
+ * 
  * Revision 1.10  87/06/30  20:02:26  wesommer
  * Added returned tuple chain to client structure.
  * Added local realm global variable.
@@ -110,7 +113,8 @@ main(argc, argv)
        init_sms_err_tbl();
        init_krb_err_tbl();
        set_com_err_hook(sms_com_err);
-
+       setlinebuf(stderr);
+       
        if (argc != 1) {
                com_err(whoami, 0, "Usage: smsd");
                exit(1);
@@ -165,8 +169,7 @@ main(argc, argv)
        
        op_list = create_list_of_operations(1, listenop);
        
-       (void) sprintf(buf1, "started (pid %d)", getpid());
-       com_err(whoami, 0, buf1);
+       com_err(whoami, 0, "started (pid %d)", getpid());
        com_err(whoami, 0, rcsid_sms_main_c);
 
        /*
@@ -197,6 +200,27 @@ main(argc, argv)
 #ifdef notdef
                fprintf(stderr, "    tick\n");
 #endif notdef
+               /*
+                * Handle any new connections; this comes first so
+                * errno isn't tromped on.
+                */
+               if (OP_DONE(listenop)) {
+                       if (OP_STATUS(listenop) == OP_CANCELLED) {
+                               if (errno == EWOULDBLOCK) {
+                                       do_reset_listen();
+                               } else {
+                                       com_err(whoami, errno,
+                                               "error on listen");
+                                       exit(1);
+                               }
+                       } else if ((status = new_connection()) != 0) {
+                               com_err(whoami, errno,
+                                       "Error on listening operation.");
+                               /*
+                                * Sleep here to prevent hosing?
+                                */
+                       }
+               }
                /*
                 * Handle any existing connections.
                 */
@@ -214,24 +238,8 @@ main(argc, argv)
                        cur_client = NULL;
                        if (takedown) break;
                }
-               /*
-                * Handle any new connections.
-                */
-               if (OP_DONE(listenop)) {
-                       if (OP_STATUS(listenop) == OP_CANCELLED) {
-                               com_err(whoami, errno, "Error on listen");
-                               exit(1);
-
-                       } else if ((status = new_connection()) != 0) {
-                               com_err(whoami, errno,
-                                       "Error on listening operation.");
-                               /*
-                                * Sleep here to prevent hosing?
-                                */
-                       }
-               }
        }
-       com_err(whoami, 0, takedown);
+       com_err(whoami, 0, "%s", takedown);
        sms_close_database();
        return 0;
 }
@@ -259,6 +267,15 @@ do_listen()
        return 0;
 }
 
+
+do_reset_listen()
+{
+       client_addrlen = sizeof(client_addr);
+       start_accepting_client(listencon, listenop, &newconn,
+                              (char *)&client_addr,
+                              &client_addrlen, &client_tuple);
+}
+
 /*
  * This routine is called when a new connection comes in.
  *
@@ -319,13 +336,11 @@ new_connection()
         * Log new connection.
         */
        
-       (void) sprintf(buf1,
-                      "New connection from %s port %d (now %d client%s)",
-                      inet_ntoa(cp->haddr.sin_addr),
-                      (int)ntohs(cp->haddr.sin_port),
-                      nclients,
-                      nclients!=1?"s":"");
-       com_err(whoami, 0, buf1);
+       com_err(whoami, 0, "New connection from %s port %d (now %d client%s)",
+               inet_ntoa(cp->haddr.sin_addr),
+               (int)ntohs(cp->haddr.sin_port),
+               nclients,
+               nclients!=1?"s":"");
        
        /*
         * Get ready to accept the next connection.
index 7ce0ff9f48645cf4abd44561643f482bf5112855..30f2fa3c5ce879611a963e56051d3f3956f3f68f 100644 (file)
@@ -6,10 +6,13 @@
  *     Copyright (C) 1987 by the Massachusetts Institute of Technology
  *
  *     $Log$
- *     Revision 1.8  1987-07-29 16:02:48  wesommer
- *     Use unsigned char rather than char to prevent sign extension
- *     problem.
+ *     Revision 1.9  1987-08-04 01:50:13  wesommer
+ *     Rearranged messages.
  *
+ * Revision 1.8  87/07/29  16:02:48  wesommer
+ * Use unsigned char rather than char to prevent sign extension
+ * problem.
+ * 
  * Revision 1.7  87/07/14  00:39:47  wesommer
  * Changed interface to log_args.
  * 
@@ -98,46 +101,27 @@ log_args(tag, argc, argv)
        com_err(whoami, 0, buf);
 }
        
-void sms_com_err(whoami, code, message)
+void sms_com_err(whoami, code, fmt, pvar)
        char *whoami;
        int code;
-       char *message;
+       char *fmt;
+       caddr_t pvar;
 {
        extern char *error_message();
        extern client *cur_client;
        
        struct iovec strings[7];
-       char buf[32];
-       if (cur_client)
-               (void) sprintf(buf, "[#%d]", cur_client->id);
-       else buf[0]='\0';
-       
-       strings[1].iov_base = buf;
-       strings[1].iov_len = strlen(buf);
-       
-       strings[0].iov_base = whoami;
+
        if (whoami) {
-               strings[0].iov_len = strlen(whoami);
-               strings[2].iov_base = ": ";
-               strings[2].iov_len = 2;
-       } else {
-               strings[0].iov_len = 0;
-               strings[2].iov_base = " ";
-               strings[2].iov_len = 1;
+               fputs(whoami, stderr);
+               if (cur_client) fprintf(stderr, "[#%d]", cur_client->id);
+               fputs(": ", stderr);
        }
        if (code) {
-               register char *errmsg = error_message(code);
-               strings[3].iov_base = errmsg;
-               strings[3].iov_len = strlen(errmsg);
-               strings[4].iov_base = " ";
-               strings[4].iov_len = 1;
-       } else {
-               strings[3].iov_len = 0;
-               strings[4].iov_len = 0;
+               fputs(error_message(code), stderr);
+       }
+       if (fmt) {
+               _doprnt(fmt, pvar, stderr);
        }
-       strings[5].iov_base = message;
-       strings[5].iov_len = strlen(message);
-       strings[6].iov_base = "\n";
-       strings[6].iov_len = 1;
-       (void) writev(2, strings, 7);
+       putc('\n', stderr);
 }
index 8461bab4e4db5f8eeff645afd98d5402733ba135..162f2f352d48914eb02f6100eb1bd09fc5bcf332 100644 (file)
@@ -6,9 +6,12 @@
  *     Copyright (C) 1987 by the Massachusetts Institute of Technology
  *
  *     $Log$
- *     Revision 1.6  1987-08-04 01:30:54  wesommer
- *     Mike's changes; checked in prior to working over messages.
+ *     Revision 1.7  1987-08-04 01:49:20  wesommer
+ *     Rearranged messages.
  *
+ * Revision 1.6  87/08/04  01:30:54  wesommer
+ * Mike's changes; checked in prior to working over messages.
+ * 
  * Revision 1.5  87/06/21  16:37:58  wesommer
  * Changed include files, reindented things.
  * 
@@ -383,7 +386,6 @@ check_query_access(q, argv, cl)
 ##     retrieve (def_uid = users.users_id) where users.login = "default"
     }
 
-    com_err(whoami, 0, "checking for default access");
     /* check for default access */
 ##  range of m is members
 ##  repeat retrieve (exists = any(m.#member_id where m.list_id = @acl_id and
@@ -394,7 +396,6 @@ check_query_access(q, argv, cl)
     status = get_client(cl, &client_type, &client_id);
     if (status != SMS_SUCCESS) return(status);
 
-    com_err(whoami, 0, "checking for client in acl");
     /* see if client is in the list (or any of its sub-lists) */
     exists = find_member(acl_id, client_type, client_id, 0);
     return ((exists) ? SMS_SUCCESS : SMS_PERM);
@@ -454,7 +455,6 @@ get_client(cl, client_type, client_id)
     if (exists) return(1);
 
     /* are there any sub-lists? */
-    com_err(whoami, 0, "checking for sub-lists");
 ##  repeat retrieve (exists = any(m.#member_id where m.#list_id = @list_id and
 ##                   m.#member_type = "LIST"))
     if (!exists) return(0);
@@ -479,7 +479,6 @@ get_client(cl, client_type, client_id)
 
     if (child) return;
 
-    com_err(whoami, 0, "checking for client in sub-lists");
     /* at top-level, check sub-lists for client (breadth-first search) */
     while (sq_get_data(sq, &sublist)) {
        exists = find_member(sublist, member_type, member_id, sq);
index 61b0d64145ffa5b11427757df5cebff2b8d6d768..438a381ee9999922aa5e0230086fe31095b79aef 100644 (file)
@@ -6,9 +6,12 @@
  *     Copyright (C) 1987 by the Massachusetts Institute of Technology
  *
  *     $Log$
- *     Revision 1.6  1987-08-04 01:10:02  wesommer
- *     Changes by mike; checked in prior to my hacking.
+ *     Revision 1.7  1987-08-04 01:49:41  wesommer
+ *     Rearranged messages.
  *
+Revision 1.6  87/08/04  01:10:02  wesommer
+Changes by mike; checked in prior to my hacking.
+
 Revision 1.5  87/07/30  14:54:13  wesommer
 Added debugging code in an attempt to catch a flakey problem.
 
@@ -899,14 +902,13 @@ validate_row(q, argv, v)
     table = q->rtable;
     name = v->field;
 
-    /* tell the logfile what we're doing */
-    com_err(whoami, 0, "validating row");
-    com_err(whoami, 0, qual);
-
+    if (log_flags & LOG_RES)
+       /* tell the logfile what we're doing */
+       com_err(whoami, 0, "validating row: %s", qual);
+    
     /* look for the record */
 ##  range of rvar is table
 ##  retrieve (rowcount = count(rvar.name where qual))
-    com_err(whoami, 0, "row validated");
     if (rowcount == 0) return(SMS_NO_MATCH);
     if (rowcount > 1) return(SMS_NOT_UNIQUE);
     return(SMS_EXISTS);
@@ -924,30 +926,30 @@ validate_fields(q, argv, vo, n)
     while (--n >= 0) {
        switch (vo->type) {
        case V_NAME:
-           sprintf(buf, "validating %s in %s: %s", 
+           if (log_flags&LOG_RES)
+               com_err(whoami, 0, "validating %s in %s: %s", 
                    vo->namefield, vo->table, argv[vo->index]);
-           com_err(whoami, 0, buf);
            status = validate_name(argv, vo);
            break;
 
        case V_ID:
-           sprintf(buf, "validating %s in %s: %s", 
+           if (log_flags&LOG_RES)
+               com_err(whoami, 0, "validating %s in %s: %s", 
                    vo->idfield, vo->table, argv[vo->index]);
-           com_err(whoami, 0, buf);
            status = validate_id(argv, vo);
            break;
 
        case V_TYPE:
-           sprintf(buf, "validating %s type: %s",
+           if (log_flags&LOG_RES)
+               com_err(whoami, 0, "validating %s type: %s",
                    vo->table, argv[vo->index]);
-           com_err(whoami, 0, buf);
            status = validate_type(argv, vo);
            break;
 
        case V_TYPEDATA:
-           sprintf(buf, "validating type-specific data: %s",
+           if (log_flags&LOG_RES)
+               com_err(whoami, 0, "validating type-specific data: %s",
                    argv[vo->index]);
-           com_err(whoami, 0, buf);
            status = validate_typedata(q, argv, vo);
            break;
 
This page took 0.234118 seconds and 5 git commands to generate.