mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-05 20:45:49 +01:00
wait for connection rather than asserting immediate success so can be
started before server.
This commit is contained in:
parent
8712918e73
commit
da5da3dd89
1 changed files with 16 additions and 7 deletions
|
@ -312,13 +312,22 @@ do_fetch( int sockfd, const char** connNames, int nConnNames,
|
|||
struct sockaddr_un addr;
|
||||
addr.sun_family = AF_UNIX;
|
||||
strcpy( addr.sun_path, nbs );
|
||||
|
||||
int err = connect( nbsfd, (struct sockaddr*)&addr,
|
||||
sizeof(addr) );
|
||||
if ( 0 != err ) {
|
||||
fprintf( stderr, "%s: connect()=>%s\n", __func__,
|
||||
strerror(errno) );
|
||||
assert( false );
|
||||
|
||||
for ( ; ; ) {
|
||||
if ( 0 == connect( nbsfd, (struct sockaddr*)&addr,
|
||||
sizeof(addr) ) ) {
|
||||
break;
|
||||
}
|
||||
switch( errno ) {
|
||||
case ECONNREFUSED:
|
||||
case ENOENT:
|
||||
usleep( 250000 );
|
||||
break;
|
||||
default:
|
||||
fprintf( stderr, "%s: connect()=>%d (%s)\n", __func__,
|
||||
errno, strerror(errno) );
|
||||
assert( false );
|
||||
}
|
||||
}
|
||||
fd = nbsfd;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue