Changeset 6623 for nanoscale/branches/1.0/server.c
- Timestamp:
- Nov 14, 2016, 1:17:38 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
nanoscale/branches/1.0/server.c
r6622 r6623 1 1 /* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ 2 2 /* ====================================================================== 3 * Copyright (c) 2004-201 4HUBzero Foundation, LLC3 * Copyright (c) 2004-2016 HUBzero Foundation, LLC 4 4 * ---------------------------------------------------------------------- 5 5 * See the file "license.terms" for information on usage and … … 40 40 41 41 #define ERROR(...) SysLog(LOG_ERR, __FILE__, __LINE__, __VA_ARGS__) 42 #define TRACE(...) SysLog(LOG_DEBUG, __FILE__, __LINE__, __VA_ARGS__)43 42 #define WARN(...) SysLog(LOG_WARNING, __FILE__, __LINE__, __VA_ARGS__) 44 43 #define INFO(...) SysLog(LOG_INFO, __FILE__, __LINE__, __VA_ARGS__) 44 #ifdef WANT_TRACE 45 #define TRACE(...) SysLog(LOG_DEBUG, __FILE__, __LINE__, __VA_ARGS__) 46 #else 47 #define TRACE(...) 48 #endif 45 49 46 50 static const char *syslogLevels[] = { … … 90 94 91 95 static void 96 Help(const char *program) 97 { 98 fprintf(stderr, 99 "Syntax: %s [-d] [-f serversFile] [-x numVideoCards]\n", program); 100 exit(1); 101 } 102 103 static void 104 InitLog() 105 { 106 openlog("nanoscale", LOG_CONS | LOG_PID, LOG_USER); 107 } 108 109 static void 92 110 SysLog(int priority, const char *path, int lineNum, const char* fmt, ...) 93 111 { … … 105 123 s++; 106 124 } 107 length = snprintf(message, MSG_LEN, "nanoscale (%d %d) %s: %s:%d ", 108 serverPid, getpid(), syslogLevels[priority], s, lineNum); 125 if (serverPid != getpid()) { 126 length = snprintf(message, MSG_LEN, "(%d) %s: %s:%d ", 127 serverPid, syslogLevels[priority], s, lineNum); 128 } else { 129 length = snprintf(message, MSG_LEN, "%s: %s:%d ", 130 syslogLevels[priority], s, lineNum); 131 } 109 132 length += vsnprintf(message + length, MSG_LEN - length, fmt, lst); 110 133 message[MSG_LEN] = '\0'; … … 114 137 syslog(priority, message, length); 115 138 } 116 }117 118 static void119 Help(const char *program)120 {121 fprintf(stderr,122 "Syntax: %s [-d] [-f serversFile] [-x numVideoCards]\n", program);123 exit(1);124 139 } 125 140 … … 360 375 Tcl_DeleteInterp(interp); 361 376 return TRUE; 377 } 378 379 static void 380 InitServerTable() 381 { 382 Tcl_InitHashTable(&serverTable, TCL_ONE_WORD_KEYS); 362 383 } 363 384 … … 388 409 389 410 strcpy(display, ":0.0"); 390 Tcl_InitHashTable(&serverTable, TCL_ONE_WORD_KEYS); 411 InitLog(); 412 InitServerTable(); 391 413 392 414 /* Process command line switches. */ … … 438 460 serverPid = getpid(); 439 461 if (!ParseServersFile(fileName)) { 462 ERROR("Exiting on invalid configuration"); 440 463 exit(1); 441 464 } … … 645 668 /* Set the configured environment */ 646 669 for (i = 0; i < serverPtr->numEnvArgs; i += 2) { 670 INFO("Env: %s=%s", serverPtr->envArgs[i], 671 serverPtr->envArgs[i+1]); 647 672 setenv(serverPtr->envArgs[i], serverPtr->envArgs[i+1], 1); 648 673 } 649 { 674 { 650 675 char *cmd; 651 676 … … 655 680 serverPtr->name, inet_ntoa(newaddr.sin_addr), 656 681 cmd, serverPtr->inputFd, serverPtr->outputFd, display); 682 Tcl_Free(cmd); 657 683 /* Replace the current process with the render server. */ 658 684 execvp(serverPtr->cmdArgs[0], serverPtr->cmdArgs); 659 ERROR("Can't execute \"%s\": %s", cmd, strerror(errno));660 Tcl_Free(cmd);685 ERROR("Can't execute \"%s\": %s", serverPtr->cmdArgs[0], 686 strerror(errno)); 661 687 exit(1); 662 688 }
Note: See TracChangeset
for help on using the changeset viewer.