version 1.11, 2004/12/16 08:42:14 |
version 1.12, 2005/02/28 12:53:44 |
|
|
/*$OpenXM: OpenXM/src/kan96xx/plugin/file2.c,v 1.10 2004/02/25 23:14:35 takayama Exp $ */ |
/*$OpenXM: OpenXM/src/kan96xx/plugin/file2.c,v 1.11 2004/12/16 08:42:14 takayama Exp $ */ |
#include <stdio.h> |
#include <stdio.h> |
#include <sys/time.h> |
#include <sys/time.h> |
#include <sys/types.h> |
#include <sys/types.h> |
#include <unistd.h> |
#include <unistd.h> |
|
#include <signal.h> |
#include <errno.h> |
#include <errno.h> |
#include "file2.h" |
#include "file2.h" |
|
|
Line 98 int fp2fflush(FILE2 *fp2) { |
|
Line 99 int fp2fflush(FILE2 *fp2) { |
|
if (checkfp2(fp2,"fp2fflush ") == -1) return(-1); |
if (checkfp2(fp2,"fp2fflush ") == -1) return(-1); |
if (fp2->fd == -1) return(0); |
if (fp2->fd == -1) return(0); |
if (fp2->writepos > 0) { |
if (fp2->writepos > 0) { |
|
signal(SIGPIPE,SIG_IGN); |
r = write(fp2->fd,fp2->writeBuf,fp2->writepos); |
r = write(fp2->fd,fp2->writeBuf,fp2->writepos); |
|
signal(SIGPIPE,SIG_DFL); |
fp2->writepos = 0; |
fp2->writepos = 0; |
if (r <= 0) { |
if (r <= 0) { |
fprintf(stderr,"fp2fflush(): write failed on %d.\n",fp2->fd); |
fprintf(stderr,"fp2fflush(): write failed on %d.\n",fp2->fd); |
|
if (errno == EPIPE) { |
|
fprintf(stderr,"Your peer is closed --- SIGPIPE. Closing this fp2.\n"); |
|
fp2fclose(fp2); |
|
return r; |
|
} |
} |
} |
return(r); |
return(r); |
}else{ |
}else{ |
Line 395 int fp2fputs(char *s,FILE2 *fp) { |
|
Line 403 int fp2fputs(char *s,FILE2 *fp) { |
|
.... |
.... |
} |
} |
*/ |
*/ |
|
|