Changeset 4722:469ca094d1fa in roaraudio for roard
- Timestamp:
- 01/16/11 19:54:29 (13 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/roard.c
r4710 r4722 25 25 26 26 #include "roard.h" 27 28 enum action { 29 START, 30 STOP, 31 RESTART, 32 RESTART_RETRY, 33 SHUTDOWN 34 }; 27 35 28 36 #ifdef ROAR_SUPPORT_LISTEN … … 416 424 #endif 417 425 418 if ( roar_ connect(&con, server) == -1 ) {426 if ( roar_simple_connect(&con, server, "roard") == -1 ) { 419 427 return -1; 420 428 } … … 1500 1508 #endif 1501 1509 #ifdef ROAR_HAVE_MAIN_ARGS 1510 enum action action = START; 1502 1511 int i; 1503 1512 char * k; … … 1737 1746 } else if ( strcmp(k, "--start") == 0 ) { 1738 1747 // this is a no op 1748 action = START; 1739 1749 } else if ( strcmp(k, "--restart") == 0 ) { 1750 action = RESTART; 1740 1751 #ifdef ROAR_SUPPORT_LISTEN 1741 1752 if ( restart_server(sock_addr, 1) == -1 ) { 1742 ROAR_WARN("Can not terminate old server (not running at %s?), tring to continue anyway", sock_addr); 1753 ROAR_WARN("Can not terminate old server (not running at %s?), will retry later.", sock_addr); 1754 action = RESTART_RETRY; 1743 1755 } 1744 1756 #else … … 1746 1758 #endif 1747 1759 } else if ( strcmp(k, "--shutdown") == 0 ) { 1748 #ifdef ROAR_SUPPORT_LISTEN 1749 if ( restart_server(sock_addr, 1) == -1 ) { 1750 ROAR_WARN("Can not terminate old server (not running at %s?)", sock_addr); 1751 return 1; 1752 } 1753 return 0; 1754 #else 1755 ROAR_ERR("--shutdown not supported"); 1756 return 1; 1757 #endif 1760 action = SHUTDOWN; 1758 1761 } else if ( strcmp(k, "--stop") == 0 ) { 1759 #ifdef ROAR_SUPPORT_LISTEN 1760 if ( restart_server(sock_addr, 0) == -1 ) { 1761 ROAR_WARN("Can not stop old server (not running at %s?)", sock_addr); 1762 return 1; 1763 } 1764 return 0; 1765 #else 1766 ROAR_ERR("--stop not supported"); 1767 return 1; 1768 #endif 1762 action = STOP; 1769 1763 1770 1764 … … 1904 1898 o_prim = 1; 1905 1899 } else if ( strcmp(k, "-oN") == 0 ) { 1906 if ( add_output(o_drv, o_dev, o_opts, o_prim, o_count) != -1 ) 1907 o_count++; 1908 1909 o_drv = o_dev = o_opts = NULL; 1910 o_prim = 0; 1900 if ( action == START || action == RESTART ) { 1901 if ( add_output(o_drv, o_dev, o_opts, o_prim, o_count) != -1 ) 1902 o_count++; 1903 1904 o_drv = o_dev = o_opts = NULL; 1905 o_prim = 0; 1906 } 1911 1907 1912 1908 } else if ( strcmp(k, "-s") == 0 || strcmp(k, "--source") == 0 ) { … … 2281 2277 } else if ( strcmp(k, "--new-sock") == 0 ) { 2282 2278 #ifdef ROAR_SUPPORT_LISTEN 2283 if ( add_listen(sock_addr, port, sock_type, sock_user, sock_grp, sock_proto, sock_dir, &sock_info) != 0 ) { 2284 ROAR_ERR("Can not open listen socket!"); 2285 return 1; 2279 if ( action == START || action == RESTART ) { 2280 if ( add_listen(sock_addr, port, sock_type, sock_user, sock_grp, sock_proto, sock_dir, &sock_info) != 0 ) { 2281 ROAR_ERR("Can not open listen socket!"); 2282 return 1; 2283 } 2286 2284 } 2287 2285 #endif … … 2348 2346 #endif 2349 2347 2348 #ifdef ROAR_HAVE_MAIN_ARGS 2349 switch (action) { 2350 case START: 2351 // NO-OP. 2352 break; 2353 case RESTART: 2354 // NO-OP, done before. 2355 break; 2356 case STOP: 2357 #ifdef ROAR_SUPPORT_LISTEN 2358 if ( restart_server(sock_addr, 0) == -1 ) { 2359 ROAR_WARN("Can not stop old server (not running at %s?)", sock_addr); 2360 return 1; 2361 } 2362 return 0; 2363 #else 2364 ROAR_ERR("--stop not supported"); 2365 return 1; 2366 #endif 2367 break; 2368 case SHUTDOWN: 2369 #ifdef ROAR_SUPPORT_LISTEN 2370 if ( restart_server(sock_addr, 1) == -1 ) { 2371 ROAR_WARN("Can not terminate old server (not running at %s?)", sock_addr); 2372 return 1; 2373 } 2374 return 0; 2375 #else 2376 ROAR_ERR("--shutdown not supported"); 2377 return 1; 2378 #endif 2379 break; 2380 case RESTART_RETRY: 2381 #ifdef ROAR_SUPPORT_LISTEN 2382 if ( restart_server(sock_addr, 1) == -1 ) { 2383 ROAR_WARN("Can not terminate old server (again) (not running at %s?), tring to continue anyway", sock_addr); 2384 action = RESTART; 2385 } 2386 #endif 2387 break; 2388 } 2389 #endif 2390 2350 2391 #ifndef DEBUG 2351 2392 // notify dbg if requested, if in DEBUG mode
Note: See TracChangeset
for help on using the changeset viewer.