Changeset 10135
- Timestamp:
- Feb 7, 2010, 10:17:42 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/daemon/daemon.c
r10132 r10135 229 229 230 230 static void 231 printMessage( tr_bool foreground, int level, const char * name, const char * message, const char * file, int line ) 232 { 233 #ifdef HAVE_SYSLOG 234 if( foreground ) 235 { 236 char timestr[64]; 237 tr_getLogTimeStr( timestr, sizeof( timestr ) ); 238 if( name ) 239 fprintf( stderr, "[%s] %s %s (%s:%d)\n", timestr, name, message, file, line ); 240 else 241 fprintf( stderr, "[%s] %s (%s:%d)\n", timestr, message, file, line ); 242 } 243 else /* daemon... write to syslog */ 244 { 245 int priority; 246 247 /* figure out the syslog priority */ 248 switch( level ) { 249 case TR_MSG_ERR: priority = LOG_ERR; break; 250 case TR_MSG_DBG: priority = LOG_DEBUG; break; 251 default: priority = LOG_INFO; break; 252 } 253 254 if( name ) 255 syslog( priority, "%s %s (%s:%d)", name, message, file, line ); 256 else 257 syslog( priority, "%s (%s:%d)", message, file, line ); 258 } 259 #else 260 { 261 char timestr[64]; 262 tr_getLogTimeStr( timestr, sizeof( timestr ) ); 263 if( name ) 264 fprintf( stderr, "[%s] %s %s (%s:%d)\n", timestr, name, message, file, line ); 265 else 266 fprintf( stderr, "[%s] %s (%s:%d)\n", timestr, message, file, line ); 267 } 268 #endif 269 } 270 271 static void 231 272 pumpLogMessages( tr_bool foreground ) 232 273 { … … 235 276 236 277 for( l=list; l!=NULL; l=l->next ) 237 { 238 #ifdef HAVE_SYSLOG 239 if( foreground ) 240 { 241 char timestr[64]; 242 tr_getLogTimeStr( timestr, sizeof( timestr ) ); 243 if( l->name ) 244 fprintf( stderr, "[%s] %s %s (%s:%d)\n", timestr, l->name, l->message, l->file, l->line ); 245 else 246 fprintf( stderr, "[%s] %s (%s:%d)\n", timestr, l->message, l->file, l->line ); 247 } 248 else /* daemon... write to syslog */ 249 { 250 int priority; 251 252 /* figure out the syslog priority */ 253 switch( l->level ) { 254 case TR_MSG_ERR: priority = LOG_ERR; break; 255 case TR_MSG_DBG: priority = LOG_DEBUG; break; 256 default: priority = LOG_INFO; break; 257 } 258 259 if( l->name ) 260 syslog( priority, "%s %s (%s:%d)", l->name, l->message, l->file, l->line ); 261 else 262 syslog( priority, "%s (%s:%d)", l->message, l->file, l->line ); 263 } 264 #else 265 { 266 char timestr[64]; 267 tr_getLogTimeStr( timestr, sizeof( timestr ) ); 268 if( l->name ) 269 fprintf( stderr, "[%s] %s %s (%s:%d)\n", timestr, l->name, l->message, l->file, l->line ); 270 else 271 fprintf( stderr, "[%s] %s (%s:%d)\n", timestr, l->message, l->file, l->line ); 272 } 273 #endif 274 } 278 printMessage( foreground, l->level, l->name, l->message, l->file, l->line ); 275 279 276 280 tr_freeMessageList( list ); … … 300 304 configDir = getConfigDir( argc, (const char**)argv ); 301 305 loaded = tr_sessionLoadSettings( &settings, configDir, MY_NAME ); 302 tr_bencDictAddBool( &settings, TR_PREFS_KEY_RPC_ENABLED, TRUE );303 306 304 307 /* overwrite settings from the comamndline */ … … 391 394 } 392 395 396 if( !loaded ) 397 { 398 printMessage( foreground, TR_MSG_ERR, MY_NAME, "Error loading config file -- exiting.", __FILE__, __LINE__ ); 399 return -1; 400 } 401 393 402 if( dumpSettings ) 394 403 { … … 401 410 if( !foreground && tr_daemon( TRUE, FALSE ) < 0 ) 402 411 { 403 fprintf( stderr, "failed to daemonize: %s\n", strerror( errno ) ); 412 char buf[256]; 413 tr_snprintf( buf, sizeof( buf ), "Failed to dameonize: %s", tr_strerror( errno ) ); 414 printMessage( foreground, TR_MSG_ERR, MY_NAME, buf, __FILE__, __LINE__ ); 404 415 exit( 1 ); 405 416 } … … 407 418 /* start the session */ 408 419 mySession = tr_sessionInit( "daemon", configDir, TRUE, &settings ); 409 410 if( loaded ) 411 tr_ninf( NULL, "Using settings from \"%s\"", configDir ); 412 else 413 tr_nerr( NULL, "Couldn't find settings in \"%s\"; using defaults", configDir ); 414 420 tr_ninf( NULL, "Using settings from \"%s\"", configDir ); 415 421 tr_sessionSaveSettings( mySession, configDir, &settings ); 416 422 -
trunk/libtransmission/session.c
r10129 r10135 12 12 13 13 #include <assert.h> 14 #include <errno.h> /* ENOENT */ 14 15 #include <stdlib.h> 15 16 #include <string.h> /* memcpy */ … … 363 364 tr_sessionLoadSettings( tr_benc * d, const char * configDir, const char * appName ) 364 365 { 366 int err = 0; 365 367 char * filename; 366 368 tr_benc fileSettings; … … 384 386 /* file settings override the defaults */ 385 387 filename = tr_buildPath( configDir, "settings.json", NULL ); 386 if( !tr_bencLoadFile( &fileSettings, TR_FMT_JSON, filename ) ) { 388 err = tr_bencLoadFile( &fileSettings, TR_FMT_JSON, filename ); 389 if( !err ) { 387 390 tr_bencMergeDicts( d, &fileSettings ); 388 391 tr_bencFree( &fileSettings ); 389 success = TRUE;390 392 } 391 393 … … 393 395 tr_bencFree( &sessionDefaults ); 394 396 tr_free( filename ); 397 success = (err==0) || (err==ENOENT); 395 398 return success; 396 399 } … … 411 414 { 412 415 tr_benc fileSettings; 413 if( !tr_bencLoadFile( &fileSettings, TR_FMT_JSON, filename ) ) 416 const int err = tr_bencLoadFile( &fileSettings, TR_FMT_JSON, filename ); 417 if( !err ) 414 418 { 415 419 tr_bencMergeDicts( &settings, &fileSettings ); … … 432 436 /* save the result */ 433 437 tr_bencToFile( &settings, TR_FMT_JSON, filename ); 434 tr_inf( "Saved \"%s\"", filename );435 438 436 439 /* cleanup */ -
trunk/libtransmission/utils.c
r10069 r10135 47 47 48 48 49 int messageLevel = 0;49 int messageLevel = TR_MSG_INF; 50 50 static tr_lock * messageLock = NULL; 51 51 static tr_bool messageQueuing = FALSE; … … 285 285 va_list ap; 286 286 287 tr_lockLock( messageLock ); 287 if( messageLock != NULL ) 288 tr_lockLock( messageLock ); 288 289 289 290 /* build the text message */ … … 343 344 } 344 345 345 tr_lockUnlock( messageLock ); 346 if( messageLock != NULL ) 347 tr_lockUnlock( messageLock ); 348 346 349 errno = err; 347 350 }
Note: See TracChangeset
for help on using the changeset viewer.