INFO("Using monitor socket name \"%s\" (length of socket name %zu must be <= %zu)",&addr->sun_path[1],strlen(&addr->sun_path[1]),sizeof(addr->sun_path)-3);
INFO("Using monitor socket name \"%s\" (length of socket name %zu must be <= %zu)",&addr->sun_path[1],strlen(&addr->sun_path[1]),sizeof(addr->sun_path)-3);
return0;
return0;
on_error:
return-1;
}
}
intlxc_monitor_open(constchar*lxcpath)
intlxc_monitor_open(constchar*lxcpath)
...
@@ -214,19 +221,12 @@ int lxc_monitor_open(const char *lxcpath)
...
@@ -214,19 +221,12 @@ int lxc_monitor_open(const char *lxcpath)
structsockaddr_unaddr;
structsockaddr_unaddr;
intfd;
intfd;
size_tretry;
size_tretry;
size_tlen;
intbackoff_ms[]={10,50,100};
intbackoff_ms[]={10,50,100};
if(lxc_monitor_sock_name(lxcpath,&addr)<0)
if(lxc_monitor_sock_name(lxcpath,&addr)<0)
return-1;
return-1;
len=strlen(&addr.sun_path[1]);
DEBUG("Opening monitor socket %s with len %zu",&addr.sun_path[1],strlen(&addr.sun_path[1]));
DEBUG("Opening monitor socket %s with len %zu",&addr.sun_path[1],len);
if(len>=sizeof(addr.sun_path)-1){
errno=ENAMETOOLONG;
SYSERROR("The name of monitor socket too long (%zu bytes)",len);