Sponsored Content
Top Forums Shell Programming and Scripting An alternative to IPC mechanism Post 302419250 by Corona688 on Thursday 6th of May 2010 03:43:48 PM
Old 05-06-2010
Quote:
Originally Posted by helltrex
What if the operating systems would not use any ipc mechanism in order to exchange the datas with each other,which technique could be an alternative for messaging between the processes? Do you guys think using the vfork () system call to duplicate processes is a logical solution for this problem?
vfork hardly seems a solution to the problem of communication in general. If IPC is unavailable, it's possible to create ad-hoc mutexes with temp files: open("/tmp/lockfile", O_CREAT|O_EXCL, 000) will only succeed for the process that gets to create the file. You could also exploit the queueing behavior of fifos. Or you could use sockets.
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Ipc

I have a parent that is passing data to child A and then child A has to process it and pass to child B. I am able to pass the data to child A but am not able to pass it to child B. Child B seems to only be receiving the last data instead of the whole data. I saw one example in a book but it uses... (1 Reply)
Discussion started by: scmay
1 Replies

2. Programming

Mechanism reqd for knowing TCP buffer occupancy level

Hi, The description and the context of the mechanism that i require is as follows: There is an application communicating with a protocol stack binary. There is a TCP socket communication between the two. Now, the stack is pumping up data to the Application such that the receiving buffer of... (2 Replies)
Discussion started by: saptarshi
2 Replies

3. Programming

[C] Problem with IPC

Hi! I'm trying to write this program: in my intentions it should get a message and send it to a second process (pid_upost), then to a third process (pid1, pid2, pid3, depending on the choice made when a new message is inserted). This program should write the message in a file (message1, message2 or... (1 Reply)
Discussion started by: Kaminski
1 Replies

4. Shell Programming and Scripting

locking mechanism

I have a shell script. How can use some kind of locking mechanism to ensure that the script is not being executed by two people at the same time? (3 Replies)
Discussion started by: tjay83
3 Replies

5. AIX

mechanism of AIX ?

Hi all, on aix,whether have udev or devfs mechanism? thanks! (4 Replies)
Discussion started by: anonys
4 Replies

6. Programming

Open source my OIOIC, a completely new object-oriented mechanism for the C.

OIOIC is a completely new object-oriented mechanism for the C programming language. Please download the "OIOIC-Primer-2nd-Edition-English.tar.gz". (the English version of << OIOIC Primer >> ) http://code.google.com/p/oioic/downloads/list Welcome your advice! Using OIOIC, you can describe... (7 Replies)
Discussion started by: pervise.zhao
7 Replies

7. Solaris

errors on Netra-440: "IPC Warning: ipc: tcp_protocol: bad magic number"

I was asked to look into a problem with a Sun Netra 440 in another department. On the server in question, the relevant 'uname -a' information is, "SunOS host1 5.9 Generic_118558-16 sun4u sparc SUNW,Netra-440". That information aside, while the other admin is logged into the ALOM, these errors are... (0 Replies)
Discussion started by: Borealis
0 Replies

8. Programming

Best IPC mechanism to be used

Suppose I have 5 independent process divided in two imaginay sets: set1 set2 --------------------- p1 p3 | | p2 p4 | p5 The processes inside each set communicate mutually quite often. I mean p1 and p2 communicate mutually quite often Similarly p3, p4 and p5 communicate mutually... (2 Replies)
Discussion started by: rupeshkp728
2 Replies
VFORK(2)						      BSD System Calls Manual							  VFORK(2)

NAME
vfork -- spawn new process in a virtual memory efficient way SYNOPSIS
#include <unistd.h> pid_t vfork(void); DESCRIPTION
Vfork() can be used to create new processes without fully copying the address space of the old process, which is horrendously inefficient in a paged environment. It is useful when the purpose of fork(2) would have been to create a new system context for an execve. Vfork() differs from fork in that the child borrows the parent's memory and thread of control until a call to execve(2) or an exit (either by a call to exit(2) or abnormally.) The parent process is suspended while the child is using its resources. Vfork() returns 0 in the child's context and (later) the pid of the child in the parent's context. Vfork() can normally be used just like fork. It does not work, however, to return while running in the childs context from the procedure that called vfork() since the eventual return from vfork() would then return to a no longer existent stack frame. Be careful, also, to call _exit rather than exit if you can't execve, since exit will flush and close standard I/O channels, and thereby mess up the parent processes standard I/O data structures. (Even with fork it is wrong to call exit since buffered data would then be flushed twice.) SEE ALSO
fork(2), execve(2), sigaction(2), wait(2), DIAGNOSTICS
Same as for fork. BUGS
This system call will be eliminated when proper system sharing mechanisms are implemented. Users should not depend on the memory sharing semantics of vfork as it will, in that case, be made synonymous to fork. To avoid a possible deadlock situation, processes that are children in the middle of a vfork() are never sent SIGTTOU or SIGTTIN signals; rather, output or ioctl(2) calls are allowed and input attempts result in an end-of-file indication. HISTORY
The vfork() function call appeared in 3.0BSD. 4th Berkeley Distribution June 4, 1993 4th Berkeley Distribution
All times are GMT -4. The time now is 09:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy