Thread View: net.database
2 messages
2 total messages
Started by Palat
Fri, 23 Aug 1985 21:58
Ingres question (Ingres and forked processes)
Author: Palat
Date: Fri, 23 Aug 1985 21:58
Date: Fri, 23 Aug 1985 21:58
14 lines
1006 bytes
1006 bytes
Consider the following:
An application opens an Ingres database through an
equel program. It then forks a child process.
1. Can the parent process fork a child with the
database open?
2. If 1. can be done, is the database open to the child?
3. Again, if 2. can be done, are the ranges of the relations
(##range) declared before the child was forked valid for the
child too?
Mohan Palat
AT&T Network Systems
Re: Ingres question (Ingres and forked processes)
Author: Jeff Anton
Date: Mon, 26 Aug 1985 05:45
Date: Mon, 26 Aug 1985 05:45
42 lines
2473 bytes
2473 bytes
In article <2673@ihuxf.UUCP> mohan@ihuxf.UUCP (Palat) writes: > Consider the following: > An application opens an Ingres database through an > equel program. It then forks a child process. > 1. Can the parent process fork a child with the > database open? > 2. If 1. can be done, is the database open to the child? > 3. Again, if 2. can be done, are the ranges of the relations > (##range) declared before the child was forked valid for the > child too? > > Mohan Palat > AT&T Network Systems 1. Sure, you can fork. However, the '## exit' will not return until all the procs have closed their descriptors. I'd suggect not to put it in your programs. 2. If you do an exec then you've lost what file descriptors talk to the backend. Unless you're knowledgeable about equel internals it's hopeless to talk to the backend after an exec. I'm not sure but those file descriptors should be close on exec. In the child before an exec you could conceivably talk sucessfully to the backend IF ONLY ONE PROCESS USES THE BACKEND DURRING A XACT. You could build some kind of locking convention yourself to allow this. This is very shakey ground; I don't suggest this for the week of heart. 3. The 'range' statement just passes to the backend which remembers it. In this forked user process environment we have many procs at one end of some pipes and the backend at the other end of those pipes, If one proc changes a range variable all the user proc will be affected. I can think of a few more problems that might occur. Again, you'll be exceeding the manufacturers recommendations doing this stuff so don't attempt the above unless you understand what is going on. -- C knows no bounds. Jeff Anton U.C.Berkeley Ingres Group ucbvax!anton anton@BERKELEY.EDU
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads