05-18-2010
The figure 4.21 says that SIGPIPE will be generated to a write process, when the read process has been terminated/ no read process is present.
My doubt is why not the reader gets SIGPIPE when write process terminates/ no write process exists.
9 More Discussions You Might Find Interesting
1. Programming
i can't find any info on developing for magnetic card readers in the unix environment. I'm developing a POS system and i want it to include credit card verification. Any direction would be hot... (6 Replies)
Discussion started by: Gekko
6 Replies
2. Programming
Could someone Help me with this code please?
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <fcntl.h>
#define SIZE_B 256 /*buffer's size */
#define NUM_ARG 20 /* max number of args for any command */
int... (4 Replies)
Discussion started by: M3xican
4 Replies
3. UNIX for Advanced & Expert Users
Hello!
How I can increase (or decrease) the predefined pipe buffer size?
Thanks! (1 Reply)
Discussion started by: Jus
1 Replies
4. Shell Programming and Scripting
Hi!!
I have a problem reading from a fifo pipe in shell script.
The idea is simple, I have a C program with two pipe files:
An input pipe I use to send commands in shell script to the C program (echo "command" > input.pipe)
An output pipe that I read the result of the command also in... (4 Replies)
Discussion started by: victorin
4 Replies
5. UNIX for Dummies Questions & Answers
Can someone explain to me the working of fifo() system call using simple C programs so that I can implement them in the UNIX environement? (1 Reply)
Discussion started by: lvkchaitanya
1 Replies
6. Programming
Hi guys.
1. how much is the size of pipe?(i mean the buffer size)
2. is this size different in various UNIX derivations?
3. what happens if we write to a full pipe? does it block until get some free space(the other side receive data) or returns an error?
3. FIFO s are physical files on the... (2 Replies)
Discussion started by: majid.merkava
2 Replies
7. Shell Programming and Scripting
I'm trying to read a fifo using awk and comming across some problems. I'm writing to the fifo from multiple processes invoked by GNU Parallel:
mkfifo my_fifo
awk '{ a = a + $2 } END { for (i in a) print i, a }' my_fifo | sort -nk1 > sorted_output
grep -v '^@' massive_file | parallel... (3 Replies)
Discussion started by: nathanhaigh
3 Replies
8. Programming
When a write() writes on a broken pipe, with no readers, it generates a SIGPIPE signal and the process exits.
When the write() returns -1 and errno is EPIPE?
Do I have an handler for SIGPIPE, or can I ignore it? (2 Replies)
Discussion started by: hurricane
2 Replies
9. Shell Programming and Scripting
I have created a fifo named pipe in solaris, which writes the content of a file, line by line, into pipe as below:
$ mkfifo namepipe
$ cat books.txt
"how to write unix code"
"how to write oracle code"
$ cat books.txt >> namepipe &
I have a readpipe.sh script which reads the named... (2 Replies)
Discussion started by: naveen mani
2 Replies
LEARN ABOUT OSF1
pthread_rwlockattr_setpshared
pthread_rwlockattr_setpshared(3) Library Functions Manual pthread_rwlockattr_setpshared(3)
NAME
pthread_rwlockattr_setpshared - Sets the process-shared attribute in a read-write lock attributes object.
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
SYNOPSIS
#include <pthread.h>
int pthread_rwlockattr_setpshared(
pthread_rwlockattr_t *attr,
int pshared);
PARAMETERS
Address of the read-write lock attributes object whose process-shared attribute is to be set. Value to set in the process-shared attribute
of attr. Must be the value PTHREAD_PROCESS_SHARED, to permit access to the read-write lock by any thread in any process that can access the
memory where the lock object is allocated, or PTHREAD_PROCESS_PRIVATE, to permit access to the read-write lock only by threads in the same
process as the thread that initialized the read-write lock object.
DESCRIPTION
This routine uses the value in pshared to set the process-shared attribute in the read-write lock attributes object referenced by attr. The
object referenced by attr must be initialized before this routine is called. The value of pshared must be either PTHREAD_PROCESS_SHARED or
PTHREAD_PROCESS_PRIVATE, as defined in the pthread.h include file.
If the process-shared attribute is set to PTHREAD_PROCESS_PRIVATE, the read-write lock object can only be operated upon by threads created
within the same process as the thread that initialized the read-write lock object. If threads of differing processes attempt to operate on
such a read-write lock object, the behavior is undefined.
The default value of the process-shared attribute of a read-write lock attributes object is PTHREAD_PROCESS_PRIVATE.
If the process-shared attribute of a read-write lock attributes object is set to PTHREAD_PROCESS_SHARED, the read-write lock object can be
operated upon by any thread that has access to the memory where that object is allocated, even if that object is allocated in memory that
is shared by multiple processes.
RETURN VALUES
If an error condition occurs, this routine returns an integer value indicating the type of error. Possible return values are as follows:
Successful completion. The value specified by attr is not a valid attributes object, or the value pshared is outside the range of legal
values for that attribute.
ERRORS
None
RELATED INFORMATION
Functions: pthread_rwlockattr_getpshared(3), pthread_rwlockattr_init(3)
Manuals: Guide to DECthreads and Programmer's Guide
delim off
pthread_rwlockattr_setpshared(3)