Changeset 9388
- Timestamp:
- Oct 23, 2009, 5:00:16 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/configure.ac
r9169 r9388 79 79 AC_HEADER_TIME 80 80 81 AC_CHECK_FUNCS([lrintf strlcpy daemon dirname basename strcasecmp localtime_r posix_fallocate memmem strtold ])81 AC_CHECK_FUNCS([lrintf strlcpy daemon dirname basename strcasecmp localtime_r posix_fallocate memmem strtold syslog]) 82 82 AC_PROG_INSTALL 83 83 AC_PROG_MAKE_SET -
trunk/daemon/daemon.c
r9387 r9388 22 22 #include <fcntl.h> /* open */ 23 23 #include <signal.h> 24 #ifdef HAVE_SYSLOG 25 #include <syslog.h> 26 #endif 24 27 #include <unistd.h> /* daemon */ 25 28 … … 218 221 } 219 222 223 static void 224 pumpLogMessages( tr_bool foreground ) 225 { 226 const tr_msg_list * l; 227 tr_msg_list * list = tr_getQueuedMessages( ); 228 229 for( l=list; l!=NULL; l=l->next ) 230 { 231 #ifdef HAVE_SYSLOG 232 if( foreground ) 233 { 234 char timestr[64]; 235 tr_getLogTimeStr( timestr, sizeof( timestr ) ); 236 if( l->name ) 237 fprintf( stderr, "[%s] %s %s (%s:%d)\n", timestr, l->name, l->message, l->file, l->line ); 238 else 239 fprintf( stderr, "[%s] %s (%s:%d)\n", timestr, l->message, l->file, l->line ); 240 } 241 else /* daemon... write to syslog */ 242 { 243 int priority; 244 245 /* figure out the syslog priority */ 246 switch( l->level ) { 247 case TR_MSG_ERR: priority = LOG_ERR; break; 248 case TR_MSG_DBG: priority = LOG_DEBUG; break; 249 default: priority = LOG_INFO; break; 250 } 251 252 if( l->name ) 253 syslog( priority, "%s %s (%s:%d)", l->name, l->message, l->file, l->line ); 254 else 255 syslog( priority, "%s (%s:%d)", l->message, l->file, l->line ); 256 } 257 #else 258 { 259 char timestr[64]; 260 tr_getLogTimeStr( timestr, sizeof( timestr ) ); 261 if( l->name ) 262 fprintf( stderr, "[%s] %s %s (%s:%d)\n", timestr, l->name, l->message, l->file, l->line ); 263 else 264 fprintf( stderr, "[%s] %s (%s:%d)\n", timestr, l->message, l->file, l->line ); 265 } 266 #endif 267 } 268 269 tr_freeMessageList( list ); 270 } 271 220 272 int 221 273 main( int argc, char ** argv ) … … 325 377 326 378 /* start the session */ 327 mySession = tr_sessionInit( "daemon", configDir, FALSE, &settings );379 mySession = tr_sessionInit( "daemon", configDir, TRUE, &settings ); 328 380 tr_sessionSaveSettings( mySession, configDir, &settings ); 329 381 … … 357 409 } 358 410 359 while( !closing ) 360 { 411 #ifdef HAVE_SYSLOG 412 if( !foreground ) 413 openlog( MY_NAME, LOG_CONS, LOG_DAEMON ); 414 #endif 415 416 while( !closing ) { 361 417 tr_wait( 1000 ); /* sleep one second */ 362 418 dtr_watchdir_update( watchdir ); 363 } 419 pumpLogMessages( foreground ); 420 } 421 422 closelog( ); 364 423 365 424 /* shutdown */ 425 #if HAVE_SYSLOG 426 if( !foreground ) 427 syslog( LOG_INFO, "%s", "Closing session" ); 428 #endif 366 429 printf( "Closing transmission session..." ); 367 430 tr_sessionSaveSettings( mySession, configDir, &settings ); -
trunk/libtransmission/session.c
r9387 r9388 590 590 tr_benc * clientSettings ) 591 591 { 592 int64_t i; 592 593 tr_session * session; 593 594 struct init_data data; … … 602 603 session->magicNumber = SESSION_MAGIC_NUMBER; 603 604 tr_bencInitList( &session->removedTorrents, 0 ); 605 606 /* nice to start logging at the very beginning */ 607 if( tr_bencDictFindInt( clientSettings, TR_PREFS_KEY_MSGLEVEL, &i ) ) 608 tr_setMessageLevel( i ); 604 609 605 610 /* start the libtransmission thread */ … … 723 728 assert( tr_amInEventThread( session ) ); 724 729 730 if( tr_bencDictFindInt( settings, TR_PREFS_KEY_MSGLEVEL, &i ) ) 731 tr_setMessageLevel( i ); 732 725 733 if( tr_bencDictFindInt( settings, TR_PREFS_KEY_UMASK, &i ) ) { 726 734 session->umask = (mode_t)i; … … 733 741 if( tr_bencDictFindInt( settings, TR_PREFS_KEY_PEER_LIMIT_TORRENT, &i ) ) 734 742 tr_sessionSetPeerLimitPerTorrent( session, i ); 735 if( tr_bencDictFindInt( settings, TR_PREFS_KEY_MSGLEVEL, &i ) )736 tr_setMessageLevel( i );737 743 if( tr_bencDictFindBool( settings, TR_PREFS_KEY_PEX_ENABLED, &boolVal ) ) 738 744 tr_sessionSetPexEnabled( session, boolVal ); … … 857 863 else if( tr_bencDictFindBool( settings, TR_PREFS_KEY_ALT_SPEED_ENABLED, &boolVal ) ) 858 864 useAltSpeed( session, boolVal, FALSE ); 859 860 861 862 fprintf( stderr, "what was passed in: \n%s\n", tr_bencToStr( settings, TR_FMT_JSON, NULL ) );863 864 fprintf( stderr, "-=-=-=-=-=-\n" );865 866 {867 tr_benc tmp;868 tr_bencInitDict( &tmp, 0 );869 tr_sessionGetSettings( session, &tmp );870 fprintf( stderr, "and the session's state now: \n%s\n", tr_bencToStr( &tmp, TR_FMT_JSON, NULL ) );871 tr_bencFree( &tmp );872 }873 865 874 866 --session->waiting;
Note: See TracChangeset
for help on using the changeset viewer.