05-15-2008
fflush is undefined for reading. If this happens to work, that is great, but you cannot depend on programming by coincidence... Per C standard.
You have to read an input stream or socket to clear it.
10 More Discussions You Might Find Interesting
1. Programming
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:
---------... (1 Reply)
Discussion started by: vvaidyan
1 Replies
2. Programming
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:... (2 Replies)
Discussion started by: vvaidyan
2 Replies
3. Shell Programming and Scripting
Hello,
I have a script that monitors files uploaded via ftp. After a successful upload, the file name is written to the pipe.
There is another program that reads this pipe and allows automatically run any program or script ( say test.sh ) to process the newly uploaded file.
cat test.sh... (2 Replies)
Discussion started by: fed.linuxgossip
2 Replies
4. UNIX for Dummies Questions & Answers
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:
---------... (3 Replies)
Discussion started by: vvaidyan
3 Replies
5. UNIX for Advanced & Expert Users
I have the following code which works on AIX 4.3 but fails at times on AIX 5.3
with:
cat: 0652-054 cannot write to output. There is no process to read data written to a pipe.
validator="${validator_exe} ${validator_parms}"
cmd_line="${CAT} ${data_file} | ${validator}... (6 Replies)
Discussion started by: vigsgb
6 Replies
6. AIX
Hi Everyone,
The machine I'm working on is an AIX 5.3 LPAR running on a P650. oslevel -r shows 5300-08. I'm trying to take a backup to a SCSI tape drive, which has been working up until this point. I know of nothing that has changed recently to cause this problem. But when I try to take a... (0 Replies)
Discussion started by: need2bageek
0 Replies
7. UNIX for Dummies Questions & Answers
We use SAP application cluster on AIX. Communication between 2 of its instances is failing randomly with the following error:
java.net.SocketException: There is no process to read data written to a pipe.
The above error causes a cluster restart if an important communication fails.
Can... (0 Replies)
Discussion started by: RoshniMehta
0 Replies
8. Programming
Hi,
Hopefully someone can help.
We have a process that writes a file using Connect Direct to our local Solaris server and then our C++ program will pick up the file and process it. Unfortunately, because of the size of the file, the C++ program is processing the file before it has finished... (7 Replies)
Discussion started by: chris01010
7 Replies
9. Programming
Subject: Debugging a program written in two languages
Platform: Linux (Kubuntu)
I am trying to debug a C application with bindings to some simple functions written in Ada using the GNAT Programming Studio IDE (GPS). The main entry point is in C. The debugger is gdb.
I managed to compile... (0 Replies)
Discussion started by: NiGHTS
0 Replies
10. Programming
Hello friends! i am writing a code in which i take inputs (numbers) from user and count the total number of positive, negative and zeros entered. I need to clear my standard input buffer before scanf() command. My compiler is completely ignoring the fflush(stdin) command. its not even showing any... (1 Reply)
Discussion started by: Abhishek_kumar
1 Replies
FFLUSH(3) BSD Library Functions Manual FFLUSH(3)
NAME
fflush, fpurge -- flush a stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h>
int
fflush(FILE *stream);
int
fpurge(FILE *stream);
DESCRIPTION
The function fflush() forces a write of all buffered data for the given output or update stream via the stream's underlying write function.
The open status of the stream is unaffected.
If the stream argument is NULL, fflush() flushes all open output streams.
The function fpurge() erases any input or output buffered in the given stream. For output streams this discards any unwritten output. For
input streams this discards any input read from the underlying object but not yet obtained via getc(3); this includes any text pushed back
via ungetc(3).
RETURN VALUES
Upon successful completion 0 is returned. Otherwise, EOF is returned and the global variable errno is set to indicate the error.
ERRORS
[EBADF] The stream argument is not an open stream, or, in the case of fflush(), not a stream open for writing.
The function fflush() may also fail and set errno for any of the errors specified for the routine write(2).
SEE ALSO
write(2), fclose(3), fopen(3), setbuf(3)
STANDARDS
The fflush() function conforms to ISO/IEC 9899:1990 (``ISO C90'').
BSD
June 4, 1993 BSD