in sample_app/onvif_camera_mock/artifacts/wsdd/src/file_utils.c [151:191]
int write_loop(int fd, char *buf, size_t buf_len, int timeout_in_usec, int count_loop)
{
int n, len;
if( !buf || !buf_len )
{
errno = EINVAL;
return -1;
}
len = buf_len;
while( (len > 0) && (count_loop-- > 0) )
{
n = write(fd, buf, len);
if( (n == -1) && (errno != EAGAIN) )
return -1; // error writing
if( n > 0 )
{
buf += n;
len -= n;
}
if(len <= 0)
break;
usleep(timeout_in_usec);
}
return (buf_len - len); //return length of data writing
}