* limitations under the License.
*/
-
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
do {
// total length
- ret = read(fd, (void *)&total_len, sizeof(unsigned int));
+ ret = TEMP_FAILURE_RETRY(read(fd, (void *)&total_len, sizeof(unsigned int)));
if (ret < 0) { ERROR("read error"); break; }
read_len += ret;
// client_id
- ret = read(fd, (void *)&(temp->client_id_len), sizeof(unsigned int));
+ ret = TEMP_FAILURE_RETRY(read(fd, (void *)&(temp->client_id_len), sizeof(unsigned int)));
if (ret < 0) { ERROR("read error"); break; }
read_len += ret;
read_len += ret;
// sequnce no
- ret = read(fd, (void *)&(temp->seq_no), sizeof(unsigned int));
+ ret = TEMP_FAILURE_RETRY(read(fd, (void *)&(temp->seq_no), sizeof(unsigned int)));
if (ret < 0) { ERROR("read error"); break; }
read_len += ret;
}
// call_id
- ret = read(fd, (void *)&(temp->call_id_len), sizeof(unsigned int));
+ ret = TEMP_FAILURE_RETRY(read(fd, (void *)&(temp->call_id_len), sizeof(unsigned int)));
if (ret < 0) { ERROR("read error"); break; }
read_len += ret;
read_len += ret;
// is_data
- ret = read(fd, (void *)&(is_data), sizeof(unsigned int));
+ ret = TEMP_FAILURE_RETRY(read(fd, (void *)&(is_data), sizeof(unsigned int)));
if (ret < 0) { ERROR("read error"); break; }
read_len += ret;
// data
if (is_data) {
temp->is_data = TRUE;
- ret = read(fd, (void *)&(temp->data_len), sizeof(unsigned int));
+ ret = TEMP_FAILURE_RETRY(read(fd, (void *)&(temp->data_len), sizeof(unsigned int)));
if (ret < 0) { ERROR("read error"); break; }
read_len += ret;
* limitations under the License.
*/
-
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
unsigned int is_data = FALSE;
// get total_len
- read_len = read(handle->fd, (void *)&total_len, sizeof(unsigned int));
+ read_len = TEMP_FAILURE_RETRY(read(handle->fd, (void *)&total_len, sizeof(unsigned int)));
// client_id
- read_len += read(handle->fd, (void *)&(client_id_len), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(client_id_len), sizeof(unsigned int)));
if (client_id_len > 0 && client_id_len < UINT_MAX-1) {
client_id = calloc(1, client_id_len+1);
if (client_id == NULL) {
read_len += ret;
// sequence no
- read_len += read(handle->fd, (void *)&(sequence_no), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(sequence_no), sizeof(unsigned int)));
if (total_len == read_len) {
// send identity
data = pims_ipc_data_create(0);
break;
}
- read_len += read(handle->fd, (void *)&(call_id_len), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(call_id_len), sizeof(unsigned int)));
if (call_id_len > 0 && call_id_len < UINT_MAX-1) {
call_id = calloc(1, call_id_len+1);
if (call_id == NULL) {
if (ret < 0) { ERROR("socket_recv error"); break; }
read_len += ret;
- read_len += read(handle->fd, (void *)&(is_data), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(is_data), sizeof(unsigned int)));
if (is_data) {
unsigned int data_len;
- read_len += read(handle->fd, (void *)&(data_len), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(data_len), sizeof(unsigned int)));
if (data_len > 0 && data_len < UINT_MAX-1) {
buf = calloc(1, data_len+1);
if (buf == NULL) {
unsigned int is_data = FALSE;
// get total_len
- read_len = read(handle->fd, (void *)&total_len, sizeof(unsigned int));
+ read_len = TEMP_FAILURE_RETRY(read(handle->fd, (void *)&total_len, sizeof(unsigned int)));
// call_id
- read_len += read(handle->fd, (void *)&(call_id_len), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(call_id_len), sizeof(unsigned int)));
if (call_id_len > 0 && call_id_len < UINT_MAX-1) {
call_id = calloc(1, call_id_len+1);
if (call_id == NULL) {
read_len += ret;
// is_data
- read_len += read(handle->fd, (void *)&(is_data), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(is_data), sizeof(unsigned int)));
if (is_data) {
unsigned int data_len;
- read_len += read(handle->fd, (void *)&(data_len), sizeof(unsigned int));
+ read_len += TEMP_FAILURE_RETRY(read(handle->fd, (void *)&(data_len), sizeof(unsigned int)));
if (data_len > 0 && data_len < UINT_MAX-1) {
buf = calloc(1, data_len+1);
if (buf == NULL) {