buffer_flush(3) Library Functions Manual buffer_flush(3)NAME
buffer_flush - feed buffer to write function
SYNTAX
#include <buffer.h>
int buffer_flush(buffer* b);
DESCRIPTION
buffer_flush feeds a string d[0], d[1], ..., d[dlen-1] to the write operation by calling
op(fd,d,dlen)
If op successfully handles one or more bytes at the beginning of the string, it must return the number of bytes handled; if this number is
smaller than dlen, buffer_flush will call op again with the rest of the string. If op does not handle any bytes, and does not encounter an
error, it must return 0, or return -1 with errno set to EINTR; in either case, buffer_flush will immediately call op again. If op encoun-
ters an error, it must return -1 with errno set to something other than EINTR; buffer_flush will pass the error to the caller.
On success, buffer_flush returns 0. On error, buffer_flush returns -1, setting errno appropriately.
SEE ALSO buffer_init(3)buffer_flush(3)
Check Out this Related Man Page
buffer_get_token_sa_pred(3) Library Functions Manual buffer_get_token_sa_pred(3)NAME
buffer_get_token_sa_pred - read token from buffer
SYNTAX
#include <stralloc.h>
#include <buffer.h>
int buffer_get_token_sa_pred(buffer* b,stralloc* sa,
int (*predicate)(stralloc* * sa));
DESCRIPTION
buffer_get_token_sa_pred appends data from b to sa until predicate(sa) returns 1 or -1.
If predicate returns 1 once a '
' was read, that new-line character is still appended to sa -- use stralloc_chop or stralloc_chomp to get
rid of it. predicate can also return 0 (indicating further input is required to complete the token) or -1 (abort and return -1; use this
if predicate wants to enfore a maximum message size or does timeout handling or detects a malformed message).
If reading from the buffer or allocating memory fails, buffer_get_token_sa_pred returns -1 and sets errno appropriately. At that point sa
may already contain a partial token.
On success, buffer_get_token_sa_pred returns 0.
RATIONALE
buffer_get_token_sa_pred appends instead of overwriting so it can be used on non-blocking sockets (these signal error and set errno to
EAGAIN; in this case you can simply call buffer_get_token_sa again when select or poll indicate more data is available).
SEE ALSO buffer_getline_sa(3), buffer_get_token(3), buffer(3)buffer_get_token_sa_pred(3)
Hello *NIX gurus,
I have a slight perplexing problem with multiple forks giving different results... Here is the deal.
From what I undestand, a fork() call starts executing from the next instruction that follows the fork() call. That means it inherits the PC counter register value of the... (4 Replies)
hi all,
i tried the following source codes:
fork1.c:
main()
{
printf("demo of fork\n");
fork();
printf("hello");
}
output:
demo of fork
hello hello
fork2.c:
main() (3 Replies)
Hi Team,
Here's the scenario.
Code:
x="APT_BUFFER_DISK_WRITE_INCREMENT|3\Number\1048576\2\Project\Control buffer flushing\When internal memory buffer fills up, controls how much data gets flushed to disk."
y="${x}"
If I try exec the following.
if ] then
> echo "same"
> else
>... (4 Replies)