HDTenEightyP/NetNews huggingface dataset:
From: hjv@phil.ruu.nl (Hendrik Jan Veenstra)
Subject: Re: Probably a simple realloc() question
Organization: Department of Philosophy, University of Utrecht, The Netherlands
Date: Tue, 29 Sep 1992 03:07:55 GMT

bjackson@mentor.cc.purdue.edu (Ben Jackson) writes:

>On a personal computer (Amiga, Mac, that unmentionable `I' company) you
>might have problems allocating an array that large.

Yes, it's for one of those - that's why I asked (BTW what's the I company?)

>One solution would be to make your actual array just an array of pointers
>to THING's, which would be much shorter and essentially painless to
>realloc() (or at least more so than realloc()'ing an actual array of THINGs)
>Then you would allocate each THING individually (or, to be more memory
>efficient, in groups of 5, 10, 20, whatever is reasonable for the application)
>and assign the pointer in the array to this new THING.

Someone else suggested the same solution and I'm currently considering it,
together with some other suggestions I received. I wouldn't even have to
realloc() the pointer-array, since it consumes far less memory than the THINGs
(I mean: it would be hardly worth the effort to realloc()...)

>The drawback of this would be that you wouldn't be able to use code which
>assumes that the array consists of THING's, as it now consists of THING*'s.

Why not? Just 'search&replace THING *THING'... (no, just joking....)

Thanks for the help & suggestions,

--
Hendrik Jan Veenstra                            hjv@phil.ruu.nl
Department of Philosophy              -------------------------------------
University of Utrecht                     All opinions expressed above
The Netherlands                               are pure coincidence 
Newsgroups: comp.lang.c
From: tompa@ida.liu.se (tpm@ida.liu.se)
Subject: Re: Is there is (pascal) WITH equivalent in C?
Organization: CIS Dept, Univ of Linkoping, Sweden
Date: Sun, 27 Sep 1992 13:32:54 GMT

ray@astro.ocis.temple.edu (Ray Lauff) writes:

> When programming in (sigh) Pascal there is a WITH statement which
> allows all the references to a structure to be referenced without
> repeating the struct variable name.  Is there such a thing in C?

As Jos Horsmeier wrote in a previous reply to your question,
there a) isn't an equivalent construct in C,
and b) you can use macros to get something similar,
but usually you shouldn't because it tends to make
your code hard to follow.

There is, however, a third way, which is sometimes useful:
you can use pointers.

If you have a structure type "pointtype" containing the integer fields
"x" and "y", and a structure "my_point" of this type, you can do

    {
	struct pointtype *p = &my_point;

	p->x = 18;
	p->y = 19;
    }

It's not exactly what you wanted, and in this case rather pointless
(and would therefore just obscure the code),
but there are situations where I think it can be useful. Lets say you have
a structure of type "pointtype" which you reach with the expression

	the_environment->my_screen.layers[4].pixmap[9][38]

In that case, it might be convenient (and readable) to replace

	old_x = the_environment->my_screen.layers[4].pixmap[9][38].x;
	old_y = the_environment->my_screen.layers[4].pixmap[9][38].y;
	old_point = the_environment->my_screen.layers[4].pixmap[9][38];
	the_environment->my_screen.layers[4].pixmap[9][38] =
	    the_environment->my_screen.layers[4].pixmap[9][39];
	the_environment->my_screen.layers[4].pixmap[9][38].x = 18;
	the_environment->my_screen.layers[4].pixmap[9][38].y = 19;

with

    {
	struct pointtype *p =
	    &the_environment->my_screen.layers[4].pixmap[9][38];

	old_x = p->x;
	old_y = p->y;
	old_point = *p;
	*p = the_environment->my_screen.layers[4].pixmap[9][39];
	p->x = 18;
	p->y = 19;
    }



		-- Thomas (aka Padrone, padrone@lysator.liu.se)

Thomas Padron-McCarthy, CS Dept, U of Linkoping, Sweden
Phone: 013 - 28 26 77 (Int +46-13282677)
Email (Internet): tpm@ida.liu.se
Newsgroups: comp.lang.c
Subject: What is RPG ???
From: ckcheng@wsuhub.uc.twsu.edu
Date: 2 Oct 92 01:58:17 CST
Organization: Wichita State University, Wichita, Ks

     Hey, does anybody heard of RPG (language or system?, NOT role playing game
) ?  Can anyone talk about it in this category or open a new category ?
From: billig@softtver.tver.su (Billig Ilja Vladimirovich)
Newsgroups: comp.lang.c
Subject: <none>
Summary: HELP: CodeBase was born by ...?
Keywords: HELP: CodeBase was born by ...?
Date: 5 Oct 92 19:58:37 GMT
Reply-To: billig@softtver.tver.su
Organization: TTB

CodeBase:
-was born by ...?
-versions and differences?
-CopyWright Agreements?( If FREE - how can I get
CodeBase.DOC ( in files < 20K ) in English? )
  ...Sorry my poor English...
From: throop@aurs01.UUCP (Wayne Throop)
Newsgroups: comp.lang.c
Subject: Re: ++i = i++ ? (is an illegal statement in C)
Summary: actually, it's illegal for two distinct reasons
Date: 29 Sep 92 12:03:35 GMT

: From: hollasch@kpc.com (Steve Hollasch)
:: From: zxmgn01@mailserv.zdv.uni-tuebingen.de (Philipp Knirsch)
:: ++i = i++;
:: Hehehe.. Which value has i when it is first 0 after this line of correct 
:: C-Code??
:    No, "++i = i++;" is not a valid statement in C.  It's an assignment
:    statement with an invalid left-hand side.

Quite right, but note that this statement is illegal for
two distinct reasons.  First, as Steve mentions, the value
(++i) can't be assigned to.  It isn't an object, it's a value
(or, as is often said, it's an rvalue, not an lvalue).

But secondly, even if it were repaired by making the operator something
other than "=" (say, make it "==", or make it something like (*++p =
p++) ), it would still be illegal, because there are two side effects
specified for the same object with no sequence points intervening.
This would give undefined results.  (Yes, I hear the shouts from
the peanut gallery, yes, it could be fixed by making the operator ",")

And finally, Philipp didn't even follow his own advice.  He said:

: something nice to think about and to test and look
: what the compiler is doing

But it doesn't look to me as if he looked at what his compiler
was doing.  The gcc compiler I have available does this:

    % cat >tmp.c <<.
    void f(void) {
        int i;
        ++i = i++;
    }
    .
    % gcc -c -ansi -pedantic -Wall tmp.c
    tmp.c: In function f:
    tmp.c:3: invalid lvalue in assignment

( Unfortunately, the gcc I have doesn't warn about multiple side effects
  in an expression.  It nevertheless remains undefined. )

( Yes, all this is in the FAQ, so I probably should have emailed
  both folks to "read the friendly FAQ".  "I've been a baaaaaaad boy." )

Wayne Throop       ...!mcnc!aurgate!throop
Newsgroups: comp.lang.c
From: kpv@ulysses.att.com (Phong Vo)
Subject: Re: Curses to write to stderr, possible?
Date: Tue, 6 Oct 1992 14:22:28 GMT
Organization: AT&T Bell Labs

In article <375@ulogic.UUCP> hartman@ulogic.UUCP (Richard M. Hartman) writes:
>Yeah, my suggestion has a portability problem -- anywhere that stdin
>and stdout are macros instead of FILE * variables you've got problems.
>
>On the other hand freopen() only solves half the problem, redirecting
>stdout to where you want.  The other half, RESTORING it afterwards, has
>no portable solution that I am aware of.  Or even a common one.  At least
>my suggestion works where the stdin & stdout are variables.  Does anyone
>know how to "reconnect" stdin/stdout to their original sources after
>haveing been freopened()?
>
If you were on UNIX system, you could play around with dup() and the file
descriptors of stdout&stderr to get what you want. This is sneaky at best.

If (very big if) the sfio library was used instead of stdio, temporarily replacing
stdout by stderr can be done with a single call: sfstack(sfstdout,sfstderr).
This stacks sfstderr on top of sfstdout so that any future output to sfstdout
will be redirected to sfstderr. When you want to restore sfstdout to its
previous state, you simply pop the stack with: sfstack(sfstdout,(Sfile_t*)0).

  
Phong Vo, kpv@ulysses.att.com
AT&T Bell Labs, 600 Mountain Ave, Murray Hill, NJ07974
From: ugo@oliver.sublink.org (Ugo Cei)
Newsgroups: comp.lang.c
Subject: Re: Common C errors (was Strange memory allocation...)
Date: 3 Oct 92 10:32:21 GMT
Organization: Oliver System - Pavia ITALY

In article <717558228snx@Wellspring.COM>, elliot@Wellspring.COM (Elliot H. Mednick) writes:

> b == a;            /* an attempted assignment */
> 
> This statement does nothing, but cannot be flagged as a warning.

Using "gcc -Wall" gives you: "warning: statement with no effect".

-- 
Ugo Cei --- Via Colombo 7 - 27100 Pavia - ITALY   |
         -- Sublink:  ugo@oliver.sublink.org      | "Real programs dump core"
Xref: sparky comp.lang.c:14172 comp.lang.fortran:3761
From: taluskie@utpapa.ph.utexas.edu (Vince Taluskie)
Newsgroups: comp.lang.c,comp.lang.fortran
Subject: SUMMARY: Looking for Fortran -> C Translator
Date: 27 Sep 92 23:05:27 GMT
Followup-To: comp.lang.c
Organization: Physics Department, University of Texas at Austin

A few days ago I posted a querry about the existence of a Fortran
to C translator.  I received many responses - thanks for your help.

The program that I was looking for is called f2c and can be ftp'ed from
research.att.com.  Login as 'netlib' and give you email address as your
password.  The program should be in a directory called f2c.

If you compile it on an AIX or IRIX platform, try using the flag 
"-DANSI_Libraries" as the README file instructs.  On AIX, also use
bsdcc in place of cc.  With these few precautions, it compiled fine
for me...

Regards,


-- 
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
  "I am a firm believer in            Vince Taluskie
   Luck.  The harder I work,          taluskie@utpapa.ph.utexas.edu
   the more I have of it."            Unix Services, Physics Computer Group
            -Thomas Jefferson         University of Texas at Austin
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() 
Newsgroups: comp.lang.c
From: wilson@rhombus.cs.jhu.edu (Dwight Wilson)
Subject: Re: Probably a simple realloc() question
Organization: The Johns Hopkins University CS Department
Date: Fri, 2 Oct 1992 15:16:57 GMT

In article <1992Oct2.080610.28537@organpipe.uug.arizona.edu> dave@cs.arizona.edu (Dave Schaumann) writes:
>In article <23779@alice.att.com>, ark@alice (Andrew Koenig) writes:
>>Suppose further that your system provides no way to shrink the size
>>of an allocated block.  If your user requests such shrinkage, you
>>really have only two choices:
>>
>>	1. Don't return any memory to the system, but lie and tell
>>	   the user you did, or
>>
>>	2. Allocate new memory, copy the stuff, then free the old.
>>
>>While I won't argue that (2) is always the best strategy, is is
>>surely best sometimes.
>
>What's wrong with
>
>	void *realloc( void *p, unsigned s ) {
>	  void *new_p ;
>	  if( (new_p=malloc(s)) == NULL ) {
>	    errno = ENOMEM ; return p ;
>	    }
>	  bcopy(p,new_p,min(s,SIZE(p))) ;
>	  free(p) ; return new_p ;
>	  }
>
>	/* SIZE(p) is some system-dependant thing that */
>	/* gives the size of the chunk of memory p points to */
>
>A nice, simple interface, that works on your system, and does something
>reasonable besides failing when there's no new memory to copy to.  The
>error condition is still detected and signalled to the user, but IMHO
>in a much more robust way than returning NULL.
>

You should clear errno on a successful call.  Note that under
Unix most calls do NOT clear errno, so the value is not
meaningful after a successful call.  This implementation would
be an expection to that rule.

-Dwight
From: epp@mala.bc.ca (Lorne Epp)
Newsgroups: comp.lang.c
Subject: Re: Turbo C++ problem
Date: 26 Sep 92 23:49:10 -0700
Distribution: world
Organization: Malaspina College

In article <717541128snx@ariel.demon.co.uk>, abutler@ariel.demon.co.uk (Tony Butler) writes:
> 
> Thanks, I'm, using Turbo C v2, which doesn't have a setmode() function.
> I know how to call int 10, the problem is that any documentation I have
> read (even regarding int 10) does *not* mention 43/50 line modes, just
> the 25 line modes & other graphic modes. Obviously there must be *some*
> way to do it apart from having ansi.sys installed.
> 
I believe the 43 and 50-line modes are nonstandard but (almost) universally
supported.  You should consult your video card's documentation for the
mode numbers.
----------------------------------------------------------------------
Lorne Epp                                               epp@mala.bc.ca
Newsgroups: comp.lang.c
From: myarehal@ringer.cs.utsa.edu (Mamohara Hagaraj Yarehalli)
Subject: ANSI C Standard needed ( a FAQ?)
Keywords: ANSI C
Organization: University of Texas at San Antonio
Distribution: usa
Date: Thu, 24 Sep 1992 19:55:55 GMT

Where and how can I get the complete ANSI C standard?
Thanks in advance
From: hartman@ulogic.UUCP (Richard M. Hartman)
Newsgroups: comp.lang.c
Subject: Re: C Database
Date: 30 Sep 92 21:48:03 GMT
Article-I.D.: ulogic.342
Organization: negligable

If you don't want to buy a professional db library (and Raima makes
a very good one (see the other reply)) you could try using a pair
of files, one for index and one for data.  The index file would contain
your "key" record that you sort on, and an fseek() offset for where
the rest of the record is in the "raw data" file.  Then you have 
much smaller pieces that you actually have to sort.  Of course if
you anticipate that such a key file would be too large to load into
memory then you have a much more difficult problem.....

		-Richard Hartman
		hartman@ulogic.COM

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Smoke me a kipper, I'll be back for breakfast!"
Newsgroups: comp.lang.c
From: "hans friedrich steffani" <GM08@DKAUNI2.BITNET>
Subject: Re: Stack Overflow ( HELP PLEASE )
Organization: University of Karlsruhe, Germany
Date: Mon, 5 Oct 1992 14:42:26 GMT



>
> cs125b52@ih-nxt01 (cs125 student) writes:
>
> >     I'm using a recursive function to mimic "floodfill" for SVGA.
> >Unfortunately, my new function keeps giving me a stack overflow.  How do I
> >increase the stack?
in MSC is a linkerswitch /STACK:<stack-size> to enlarge the stack.

> >memory models and everything else I could think of.
>
>         Here's what I use:
>
>         extern unsigned _stklen = 64000;
>
>         This statement must (I think) be global; i.e. put it outside of
>         all functions.
>
could someone explain how thist should work please|

hans friedrich steffani
uni karlsruhe
gm80@dkauni2.bitnet
steffani@imbaibrs1.bau-verm.uni-karlsruhe.de
From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
Newsgroups: comp.lang.c
Subject: Re: how do you use getpass() correctly
Date: 2 Oct 92 06:49:48 GMT
Organization: Comp Sci, RMIT, Melbourne, Australia

In article <1992Oct1.140429.16821@julian.uwo.ca>, bmaslen@julian.uwo.ca (b.   maslen) writes:
> if I wanted to use getpass() to read in a password and not echo it to the screen, this is what I type BUT it does not work!!!
> char answer[8];   defines answer an array of 8 characters
> answer = getpass("Enter Password:  ");

This is syntactically illegal.
	char *getpass(const char *);

answer has type "array 8 of char" (the left hand side of assignment is
an Lvalue context, so this value doesn't decay to a pointer).
getpass("Enter Password:  ") has type "pointer to char".
These are such different types that you cannot assign one to the other.

Ex-Pascal programmers in particular should remember that
      +----------------------------------------+
      | You cannot assign to whole arrays in C |
      +----------------------------------------+

If you want to copy one array to another, you should use
	strcpy		if the source is NUL-terminated
	strncpy		if the source is NUL-or-count-terminated
	memcpy		if the source is count-terminated
	memmove		if the source is count-terminated and may overlap
			the destination.

The declaration
	char answer[8];
reveals a misunderstanding about the getpass() function.
It returns a pointer to a NUL-terminated string of at most eight characters.
That does NOT include the NUL terminator.  The whole string may contain up
to 8+1 == 9 characters.

	#define	MAXPASS 8
	char answer[MAXPASS+1];
	extern char *getpass(const char *);

	... strcpy(answer, getpass("Enter Password: "));

By the way, if you are only going to read one password, why copy the
answer?  Just do

	char *the_only_password;

	... the_only_password = getpass("Enter Password: "));
-- 
RMIT policy requires the use of Gender Inclusive Language in all publications
and in all information conveyed to students, staff, and potential job
applicants.  Lapses into English are the sole responsibility of the author.
The Constitution of Australia does _not_ guarantee Freedom of Speech.
Newsgroups: comp.lang.c
From: fjh@munta.cs.mu.OZ.AU (Fergus James HENDERSON)
Subject: Re: Union-initialization portability
Organization: Computer Science, University of Melbourne, Australia
Date: Fri, 2 Oct 1992 18:49:23 GMT

hartman@ulogic.UUCP (Richard M. Hartman) writes:

>You can't use a function call in a constructor.

Yes you can.

-- 
Fergus Henderson             fjh@munta.cs.mu.OZ.AU      
This .signature virus is a self-referential statement that is true - but 
you will only be able to consistently believe it if you copy it to your own
.signature file!
From: willdm+@pitt.edu (William D Moore)
Newsgroups: comp.lang.c
Subject: "Illegal Pointer Arithmetic" error
Date: 30 Sep 92 13:13:55 GMT
Distribution: usa
Organization: University of Pittsburgh
Originator: willdm@pmax1.cis.pitt.edu

Can anyone tell me why I get the compile time error "Illegal Pointer 
Arithmetic" for the line marked with the arrow?  I've used this same function
with no problem on our unix system, but now that I'm trying to compile on a
Mac IIci with Think C I keep getting this error.  Any advice would be greatly
appreciated.  Thanks!

Will @ Pitt


ParseCommand(buf,args)
char *buf;
char **args;
{
	while(buf!=NULL)
	{
		/*
		  Strip out the white space between each argument,
		  and insert a NULL termination at the end of each
		  argument instead.
		*/
		if(isspace(*buf))
		{
------------->	     *buf++=NULL;
		}
		/*
		  Save the argument component.
		*/
		*args++=buf;
		
		/*
		  Skip over the argument component until a white space
		  is encountered.
		*/
		while((*buf!=NULL) && (*buf!=' '))
		{
			buf++;
		}
	}
	*args=NULL;
}
From: hartman@ulogic.UUCP (Richard M. Hartman)
Newsgroups: comp.lang.c
Subject: Re: Problem with BCC 3.1
Date: 30 Sep 92 19:10:48 GMT
Organization: negligable

In article <1992Sep29.200425.20751@infonode.ingr.com> fisherm@infonode.ingr.com (Matthew Fisher) writes:
>Hello all,
>
>    I using Borland C++ 3.1 under windows.  I have a file of about 2000 lines.
>The file is just one long list of 
>
>if(a)
>{}
>else if(b)
>{}
>else if(c)
>{}
>else .....
>
>The compiler seem to hate this construct.  After about 800 lines it promptly
>run out of memory.  I have 16mg on board and a 50mg swap space for windows!
>I saw the /s option in the manual but it had no noticable effect.
>Is this a bug or a strange feature of the compiler?
>I talk up Borland products around here and was quite chagrined when our in
>house Unix compiler had no problems with this file.
>Please repond by email, my rn is off line.
>
>take it easy,
>Matthew E Fisher
>fisherm@infonode.ingr.com

Egads!  I am not suprised.  There is nothing wrong w/ such a structure
but to carry it on for 2000 lines you would almost certainly overflow
a stack somewhere.....

Is there not any way to shorten this?  Heck, this may even be one of
the few legitimate uses of the rarely used (and rightly so) goto
in C (did you know it had one ... that is unless they've gotten
rid of it in ANSI.... I'm going off of memory of K&R since I've never had
reason to use labels myself...)

	if (a)
		dosomething;
		goto out;

	if (b)
		dosomethingelse;
		goto out;

	...

	out:

That should make your compiler much happier.

But there is a deeper issue here.  Are none of these cases mutually
exclusive?  If the are you don't need to "else" between them.
That is, if A and B cannot both be true at the same time then

	if (A)
		something;

	if (B)
		somethingelse;

is just as good as:

	if (A)
		something;
	else if (B)
		somethingelse;


if mutual exclusivity cannot be applied, are there any common
factors (are a & b compound expressions such that)

	if (x && y)
		dosomething;
	else if (x && z)
		dosomethingelse;

if so, you can turn this into:

	if (x)
		{
		if (y)
			dosomething;
		else if (z)
			dosomethingelse;
		}

(ok, that doesn't buy you much in the small case I used, but
over 2000 lines of cases this might be of some use.....)

Finally, perhaps you are just using the wrong language.  Something
like long lists of "if this then that" seems to be more suited
to prolog.......



		-Richard Hartman
		hartman@ulogic.COM

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"Who knows what evil lurks in the hearts of men?"

Newsgroups: comp.lang.c
From: dkeisen@leland.Stanford.EDU (Dave Eisen)
Subject: Re: Untyped pointer arithmetic
Organization: Sequoia Peripherals, Inc.
Date: Thu, 1 Oct 92 22:52:26 GMT

In article <018yRB2w165w@quest.UUCP> srhqla!quest!kdq writes:
>wilson@gauss.cs.jhu.edu (Dwight Wilson) writes:
>> In article <14813@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O
>> >So it is syntactically legal to do
>> >	void *p, *q;
>> >	ptrdiff_t d;
>> >	d = (char*)q - (char*)p;
>> 
>> Not quite.  This is only a legal pointer operatin if p and q point
>> to members of the same array, or either is the address of the first 
>> element past the the end of an the array.  
>
>Do you really mean legal, or do you mean meaningful?

He means legal. Subtracting two pointers that don't point 
within the same object gives undefined behavior. Anything
can happen.


-- 
Dave Eisen    dkeisen@leland.Stanford.EDU   Sequoia Peripherals: (415) 967-5644
      There's something in my library to offend everybody.
        --- Washington Coalition Against Censorship
Xref: sparky comp.lang.c:14486 comp.lang.c++:14476 comp.os.msdos.programmer:9713
From: rwed@hal.gnu.ai.mit.edu (N7YVM)
Newsgroups: comp.lang.c,comp.lang.c++,comp.os.msdos.programmer
Subject: Re: [Stack Overflow] How do I find cause using Turbo Debugger?
Date: 3 Oct 92 03:40:14 GMT
Followup-To: comp.lang.c
Organization: /etc/organization

In article <1992Oct2.111836.24936@gdr.bath.ac.uk> ccsmh@gdr.bath.ac.uk (Mark Harding) writes:
>My program recently bombed out with a 'Stack Overflow!' message on the screen.

Borland has a help-article all about this. The bbs # is 4084399096 (USA).
This is Borlands BBS.
From: hartman@ulogic.UUCP (Richard M. Hartman)
Newsgroups: comp.lang.c
Subject: Re: ++i = i++ ?
Date: 30 Sep 92 15:43:13 GMT
Organization: negligable

The expression results you keep referring to as boolean (true or false) and
discarded are actually int and discarded.  e.g. for the statment:
	i;

where i has the value of 5, the statement value is 5, not "true".

not that this affects the original question any....



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Philosopher and plowman			|
each must know his part			|	-Richard Hartman	
to build a new mentality		|	hartman@uLogic.COM
closer to the heart!			|
From: alsaggaf@athena.mit.edu (M. Saggaf)
Newsgroups: comp.lang.c
Subject: Can a process have access to a parent's variable?
Date: 6 Oct 92 03:56:38 GMT
Article-I.D.: athena.1992Oct6.035638.5981
Organization: Massachusetts Institute of Technology

If a proceess forks a child, can the child process have access to one
or more of the parent's variables (assume global variables)? In other
words, suppose the child process wants to know what the parent has
done to the value of a certain variable since the time the child
process was forked. How can it do that? If that's not possible, what
form of inter-process communications can be used?

Please send e-mail. I'll summarize if I receive responses.

--
/M. Saggaf
 alsaggaf@athena.mit.edu