cunit/comm_test_002.sh requires that the comm_server_test is started
before comm_client_test. Since comm_server_test is started in background,
it's possible for comm_client_test to run before comm_server_test has
bound to the unix domain socket.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
static int socket_init(char *sockpath)
{
struct sockaddr_un addr;
- int fd, ret;
+ int fd, ret, i;
size_t len;
memset(&addr, 0, sizeof(addr));
fd = socket(AF_UNIX, SOCK_STREAM, 0);
assert(fd != -1);
- ret = connect(fd, (struct sockaddr *)&addr, sizeof(addr));
+ for (i=0; i<5; i++) {
+ ret = connect(fd, (struct sockaddr *)&addr, sizeof(addr));
+ if (ret == 0) {
+ break;
+ }
+ sleep(1);
+ }
assert(ret != -1);
return fd;