Changeset 5570:36de076e54f7 in roaraudio
- Timestamp:
- 07/17/12 12:47:32 (12 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ChangeLog
r5569 r5570 4 4 * roard now tries to auto load missing protocols as plugins (Closes: #275) 5 5 * Improved tic-tac-toe plugin. 6 * Improved roarclientpass in execed mode. 6 7 7 8 v. 1.0beta3 - Sun Jul 15 2012 26:08 CEST -
roarclients/roarclientpass.c
r5534 r5570 44 44 " --byteorder BO - Client uses byteorder BO (default: network)\n" 45 45 " --listen - This is a listen mode connection\n" 46 " --command CMD - Command to use: passfh or exec (default: passfh)\n" 46 47 " --mode MODE - Set mode of operation: none, listen, connect (default: none)\n" 47 48 " --bind BIND - Set host/node/path for mode listen and connect\n" … … 60 61 int run (int client, int in, int out) { 61 62 struct roar_vio_calls socks[3]; 62 struct roar_vio_select vios[ 3];63 struct roar_vio_select vios[4]; 63 64 int alive = 1; 64 65 int ret; 65 66 ssize_t len; 66 67 char buf[1024]; 68 int i; 67 69 68 70 roar_vio_open_fh_socket(&(socks[0]), client); … … 70 72 roar_vio_open_fh_socket(&(socks[2]), out); 71 73 72 ROAR_VIO_SELECT_SETVIO(&(vios[0]), &(socks[0]), ROAR_VIO_SELECT_READ|ROAR_VIO_SELECT_WRITE);73 ROAR_VIO_SELECT_SETVIO(&(vios[1]), &(socks[1]), ROAR_VIO_SELECT_READ);74 ROAR_VIO_SELECT_SETVIO(&(vios[2]), &(socks[2]), ROAR_VIO_SELECT_WRITE);75 76 74 while (alive) { 77 ret = roar_vio_select(vios, 3, NULL, NULL); 75 ROAR_VIO_SELECT_SETVIO(&(vios[0]), &(socks[0]), ROAR_VIO_SELECT_READ); 76 ROAR_VIO_SELECT_SETVIO(&(vios[1]), &(socks[0]), ROAR_VIO_SELECT_WRITE); 77 ROAR_VIO_SELECT_SETVIO(&(vios[2]), &(socks[1]), ROAR_VIO_SELECT_READ); 78 ROAR_VIO_SELECT_SETVIO(&(vios[3]), &(socks[2]), ROAR_VIO_SELECT_WRITE); 79 80 while (1) { 81 ret = roar_vio_select(vios, 4, NULL, NULL); 82 83 if ( ret < 0 ) 84 break; 85 86 if ( ret == 0 ) 87 continue; 88 89 if ( vios[0].eventsa && vios[3].eventsa ) 90 break; 91 if ( vios[1].eventsa && vios[2].eventsa ) 92 break; 93 94 for (i = 0; i < 4; i++) 95 if ( vios[i].eventsa ) 96 vios[i].eventsq |= ROAR_VIO_SELECT_NO_RETEST; 97 } 98 78 99 if ( ret < 0 ) 79 100 break; 80 101 81 if ( ret == 0 ) 82 continue; 83 84 if ( (vios[0].eventsa & ROAR_VIO_SELECT_READ) && (vios[2].eventsa & ROAR_VIO_SELECT_WRITE) ) { 102 103 if ( (vios[0].eventsa & ROAR_VIO_SELECT_READ) && (vios[3].eventsa & ROAR_VIO_SELECT_WRITE) ) { 85 104 len = roar_vio_read(&(socks[0]), buf, sizeof(buf)); 86 105 … … 93 112 } 94 113 95 if ( (vios[ 0].eventsa & ROAR_VIO_SELECT_WRITE) && (vios[1].eventsa & ROAR_VIO_SELECT_READ) ) {114 if ( (vios[1].eventsa & ROAR_VIO_SELECT_WRITE) && (vios[2].eventsa & ROAR_VIO_SELECT_READ) ) { 96 115 len = roar_vio_read(&(socks[1]), buf, sizeof(buf)); 97 116
Note: See TracChangeset
for help on using the changeset viewer.