HP3000-L Archives

January 1996, Week 5

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Wed, 31 Jan 1996 11:47:53 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (36 lines)
Hi,
 
Mike writes:
> Stan Sieler ([log in to unmask]) wrote:
> : My guess: system() is checking that the process is "clean" for possible
> : use of fork() ... which requires (I think) that the process not have
> : any resources that wouldn't be forkable: outstanding switches to CM,
> : IMAGE databases, and (probably) some CM managed files (CM KSAM,
>   ^^^^^^^^^^^^^^^
> : or RIO files).
>
> I was kind of shocked to see IMAGE databases on this list.  Could you
> explain why?
>
> Mike "I don't feel like walking the three aisles to find out" P.
 
Why you were shocked?
Sure...many lab people forget that IMAGE exists, that's why you were shocked.
:)  (just kidding...I know Mike is aware of IMAGE)
 
I suspect that IMAGE should be on the list of the non-forkable items because
it isn't "thread safe" ... if the fork clones existing open-files, then
the forkee (child process) will have the root file and some datasets open.
But, if the entire process-private data area is also copied, then the DBU
(a one-per-user data structure) might be copied as well (or, at least,
pointers to it).  However, IMAGE assumes that it has exclusive access
to what it thought was process-local data structures ... a valid assumption
prior to the introduction of fork (and threads).
(The DBU address is stored in the KPO table)
(BTW, the DBU is allocated by doing an HPFOPEN of a namless temp file,
with short map option)
 
--
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2