Changeset 68:797b3512e1d9 in roaraudio
- Timestamp:
- 07/12/08 14:19:10 (16 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- roard
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/loop.c
r52 r68 25 25 ROAR_DBG("main_loop(*): looping..."); 26 26 27 ROAR_DBG("main_loop(*): check for new clients..."); 28 net_check_listen(); 27 if ( g_listen_socket != -1 ) { 28 ROAR_DBG("main_loop(*): check for new clients..."); 29 net_check_listen(); 30 } 29 31 30 32 ROAR_DBG("main_loop(*): check for new data..."); -
roard/roard.c
r64 r68 8 8 printf("Usage: roard [OPTIONS]...\n\n"); 9 9 10 printf("Audio Options:\n\n"); 10 printf("Misc Options:\n\n"); 11 printf( 12 " --demon - bring the server into background after init\n" 13 ); 14 15 printf("\nAudio Options:\n\n"); 11 16 printf( 12 17 " -R --rate RATE - Set server rate\n" … … 36 41 " -G GROUP - Sets the group for the UNIX Domain Socket, (default: audio)\n" 37 42 " You need the permittions to change the GID\n" 43 " --no-listen - Do not listen for new clients (only usefull for relaing)\n" 44 " --client-fh - Communite with a client over this handle\n" 45 " (only usefull for relaing)\n" 38 46 ); 39 47 // printf("\n Options:\n\n"); … … 46 54 char user_sock[80] = {0}; 47 55 struct roar_audio_info sa; 56 int demon = 0; 48 57 char * driver = NULL; 49 58 char * device = NULL; … … 109 118 return 0; 110 119 120 } else if ( strcmp(k, "--demon") == 0 ) { 121 demon = 1; 122 111 123 } else if ( strcmp(k, "-R") == 0 || strcmp(k, "--rate") == 0 ) { 112 124 sa.rate = atoi(argv[++i]); … … 144 156 } else if ( strcmp(k, "-p") == 0 || strcmp(k, "--port") == 0 ) { 145 157 port = atoi(argv[++i]); 146 } else if ( strcmp(k, "-b") == 0 || strcmp(k, "--bind") == 0 ) {158 } else if ( strcmp(k, "-b") == 0 || strcmp(k, "--bind") == 0 || strcmp(k, "-s") == 0 || strcmp(k, "--sock") == 0 ) { 147 159 server = argv[++i]; 148 160 } else if ( strcmp(k, "-t") == 0 ) { … … 153 165 sock_grp = argv[++i]; 154 166 167 } else if ( strcmp(k, "--no-listen") == 0 ) { 168 *server = 0; 169 } else if ( strcmp(k, "--client-fh") == 0 ) { 170 if ( clients_set_fh(clients_new(), atoi(argv[++i])) == -1 ) { 171 ROAR_ERR("main(*): Can not set client's fh"); 172 return 1; 173 } 174 155 175 } else { 156 176 usage(); … … 162 182 ROAR_DBG("Server config: rate=%i, bits=%i, chans=%i", sa.rate, sa.bits, sa.channels); 163 183 164 if ( (g_listen_socket = roar_socket_listen(ROAR_SOCKET_TYPE_UNKNOWN, server, port)) == -1 ) { 165 ROAR_ERR("Can not open listen socket!"); 166 return 1; 167 } 168 169 if ( *server == '/' ) { 170 if ( (grp = getgrnam(sock_grp)) == NULL ) { 171 ROAR_ERR("Can not get GID for group %s: %s", sock_grp, strerror(errno)); 172 } else { 173 chown(server, -1, grp->gr_gid); 174 if ( getuid() == 0 ) 175 chmod(server, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP); 184 if ( *server != 0 ) { 185 if ( (g_listen_socket = roar_socket_listen(ROAR_SOCKET_TYPE_UNKNOWN, server, port)) == -1 ) { 186 ROAR_ERR("Can not open listen socket!"); 187 return 1; 188 } 189 190 if ( *server == '/' ) { 191 if ( (grp = getgrnam(sock_grp)) == NULL ) { 192 ROAR_ERR("Can not get GID for group %s: %s", sock_grp, strerror(errno)); 193 } else { 194 chown(server, -1, grp->gr_gid); 195 if ( getuid() == 0 ) 196 chmod(server, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP); 197 } 176 198 } 177 199 } … … 206 228 207 229 strcpy(self->name, "RoarAudio demon internal"); 230 231 if ( demon ) { 232 close(ROAR_STDIN ); 233 close(ROAR_STDOUT); 234 close(ROAR_STDERR); 235 if ( fork() ) 236 _exit(0); 237 } 238 208 239 // start main loop... 209 240 main_loop(drvid, drvinst, &sa);
Note: See TracChangeset
for help on using the changeset viewer.