02-16-2010
Quote:
Originally Posted by
darshan.ghumare
Thank you very much.
If it is shared between parent & child then I think there could be a race condition when both parent & child will try to write/read on it (Am I right?).
If there is then how this has been prevented?
These are system calls, so the kernel itself mediates it. They won't write at the same time, the kernel will impose an order. If they need a
specific order, of course, they should be synchronizing themselves via other means. Your code, for instance, synchronizes itself by waiting for the child to finish before writing "EFGH". If the parent instead waited
after it wrote, the order wouldn't be guaranteed to be dependable... You might get "EFGH" written first, or you might not.
Last edited by Corona688; 02-16-2010 at 04:23 PM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have a table which looks like this
Line a b c
0 10 0 0
1 0 0
2 0 ... (1 Reply)
Discussion started by: ahjiefreak
1 Replies
2. Shell Programming and Scripting
Hi there
I have a requirement where i have to globally remove a hosts file entry from all boxes e.g.
10.01.10.1 my_server1
normally for 'in-line' editing of files without passing it out to another fle and copying it back etc which is messy, Ive been using the fantastic "perl -pi... (1 Reply)
Discussion started by: hcclnoodles
1 Replies
3. Shell Programming and Scripting
Hello everyone,
I want to compare the first line of a file(ABC) with that of a folder,XYZ(folder contents) and want that line to be deleted from the file(ABC) if that entry doesn't exist in the folder(XYZ)
I want to put this in a loop. please can anyone help
thanks (6 Replies)
Discussion started by: swasid
6 Replies
4. Solaris
how do I make sure that the entry in the routing table on Solaris 8 stay permanent after rebooting the server.
For example
route add 172.20.1.60 -netmask 255.255.255.0 172.20.255.253
Each time the server reboots the entry disappears when using the command netstat -nr (2 Replies)
Discussion started by: tv.praveenkumar
2 Replies
5. Shell Programming and Scripting
Hi
I am basically checking if a required entry exists within a file. In the code below I am fetching all directories of the format rel1, rela, rel3..etc..The same entries also exist in the sample log file. I want to check if entry in file1 exists within file2 but it is failing. Can you please... (4 Replies)
Discussion started by: swasid
4 Replies
6. Shell Programming and Scripting
Hi,
Lets say I have a script which reads a conf file (say MASTERFILE) line by line to fetch file_name, source_path, dest_path. But currently, here the file name are static for eg: ABC.txt or XYZ.txt. So i have hard-coded in the conf file.
So what happens that the script picks up the file_name... (1 Reply)
Discussion started by: amit.mathur08
1 Replies
7. UNIX Desktop Questions & Answers
How would I grep for password file entry without using
grep 'username' /etc/passwd?
perhaps with who?
I want to create alias that will find the password file entry regardless of the user who is using it.
Thanks (4 Replies)
Discussion started by: alis
4 Replies
8. UNIX for Dummies Questions & Answers
Hello friends, I have a question.
Sometimes I have to search for an entry in a file that is repeated thousands of times. Can you tell me how to search so that i get limited results?
For example:
file: myfile.txt
grep "hello world" myfile.txt
this above grep will generate 5000... (4 Replies)
Discussion started by: DallasT
4 Replies
9. How to Post in the The UNIX and Linux Forums
Hi All,
Please help me and guide me to write a bash/shell script on Linux box to delete parent entry with all their child entries.
example:
Parent is :
----------
dn: email=yogesh.kumar@wipro.com, o=wipro, o=in
child is:
----------
dn: cn: yogesh kumar, email=yogesh.kumar@wipro.com,... (1 Reply)
Discussion started by: Chand
1 Replies
10. Shell Programming and Scripting
I have the input file like this.
Input file: 12.txt
1) There are one or more than one <tr> tags in same line.
2) Some tr tags may have one <td> or more tna one <td> tags within it.
3) Few <td> tags having "<td> </td>". Few having more than one " " entry in it.
<tr> some td... (4 Replies)
Discussion started by: thomasraj87
4 Replies
LEARN ABOUT XFREE86
pthread_atfork
PTHREAD_ATFORK(3) Library Functions Manual PTHREAD_ATFORK(3)
NAME
pthread_atfork - register handlers to be called at fork(2) time
SYNOPSIS
#include <pthread.h>
int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void));
DESCRIPTION
pthread_atfork registers handler functions to be called just before and just after a new process is created with fork(2). The prepare han-
dler will be called from the parent process, just before the new process is created. The parent handler will be called from the parent
process, just before fork(2) returns. The child handler will be called from the child process, just before fork(2) returns.
One or several of the three handlers prepare, parent and child can be given as NULL, meaning that no handler needs to be called at the cor-
responding point.
pthread_atfork can be called several times to install several sets of handlers. At fork(2) time, the prepare handlers are called in LIFO
order (last added with pthread_atfork, first called before fork), while the parent and child handlers are called in FIFO order (first
added, first called).
To understand the purpose of pthread_atfork, recall that fork(2) duplicates the whole memory space, including mutexes in their current
locking state, but only the calling thread: other threads are not running in the child process. The mutexes are not usable after the fork
and must be initialized with pthread_mutex_init in the child process. This is a limitation of the current implementation and might or
might not be present in future versions.
RETURN VALUE
pthread_atfork returns 0 on success and a non-zero error code on error.
ERRORS
ENOMEM insufficient memory available to register the handlers.
AUTHOR
Xavier Leroy <Xavier.Leroy@inria.fr>
SEE ALSO
fork(2), pthread_mutex_lock(3), pthread_mutex_unlock(3).
LinuxThreads PTHREAD_ATFORK(3)