rem: file_handle=fopen( pipe_name, "w");
add: tryagain: fifofd=open( pipe_name, O_WRONLY | O_NONBLOCK ); if (fifofd==-1) {  if (errno==ENXIO) {  if (retries==0) { LOG(L_ERR, "ERROR: open_reply_pipe: no client at %s\n", pipe_name ); return 0; }  if (retries!=FIFO_REPLY_RETRIES) DBG("DEBUG: open_reply_pipe: retry countdown: %d\n", retries ); sleep_us( FIFO_REPLY_WAIT ); retries--; goto tryagain; }  LOG(L_ERR, "ERROR: open_reply_pipe: open error (%s): %s\n", pipe_name, strerror(errno)); return 0; } file_handle=fdopen( fifofd, "w");
context: FILE *open_reply_pipe( char *pipe_name ){	FILE *file_handle;	if (!pipe_name) {		DBG("DEBUG: open_reply_pipe: no file to write to about missing cmd\n");		return 0;	}	file_handle=fopen( pipe_name, "w");	if (file_handle==NULL) {		LOG(L_ERR, "ERROR: open_reply_pipe: open error (%s): %s\n",			pipe_name, strerror(errno));		return 0;	}	return file_handle;}