HDTenEightyP/NetNews huggingface dataset:
From: OLIVOTTO%ITNCISCA.bitnet@icineca.cineca.it (OUT, OUT - YOU'LL NOT FEEL THE FALL-OUT...)
Newsgroups: comp.unix.wizards
Subject: Apologies
Date: 12 Oct 92 15:20:00 GMT

Hi all,
        I have received quite a few messages cursing at me because my machine
bounces back mail... I am really sorry, but there is little I can do about it.
        First, let me state that our mailer has begun to behave crazily a few
days ago. There's a bug I can't seem to fix (I am the system administrator,
by the way).
        Second, regardless of this I have tried to unsubscribe from this list
umpteen times without result (no listserv sees me subscribed, and the list-
owner seemed to ignore my requests). I've unsubscribed from others, but this
doesn't work for some problems I can't quite focus.
        Third, my account is probably going to die soon... so you would have
mail bounced back *anyway* if nobody takes my name out of the subscribers'
list.
        If you see any way out, please mail it to me and I will gladly follow
it. I am *really* and *sincerely* sorry for any inconvenience, but as you see
it doesn't depend on me.

        Thanks in advance and regrets,
        Marco Olivotto
Newsgroups: comp.unix.wizards
From: cs631112@umbc8.umbc.edu (cs631112)
Subject: Re: how to get a signal when a non-child process dies
Keywords: signal, process
Organization: University of Maryland, Baltimore County Campus
Date: Tue, 13 Oct 1992 23:23:29 GMT

Perhaps you can leave a parent waiting for the child, effectively
waiting for it to die.  Then when the child dies, the parent can
send the signal to your restarted process.

There are several complications about this.

1) You are leaving another process.

2) You need some way for the restarting process to let the
   parent guardian process know where to send the signal.

3) The parent/guardian and the restarted process must both
   be started by the same user, or by the super-user.

Newsgroups: comp.unix.wizards
From: janw@fwi.uva.nl (Jan Wortelboer)
Subject: Re: *** I NEED HELP WITH YACC !!! ***
Organization: FWI, University of Amsterdam
Date: Tue, 13 Oct 1992 14:53:03 GMT

OLIVOTTO%ITNCISCA.bitnet@icineca.cineca.it (OUT, OUT - YOU'LL NOT FEEL THE FALL-OUT...) writes:

>Hi.

>Is there any yacc-gurus out there?
>Could anybody please help me out?
>I just can't get yacc to accept this yacc descripition. I KNOW the problem
>is somewhere in the "ADigP1_4" part (or isn't it....:-)....

>ADigP1_4        : _ADigP _ABusy
>                {
>                  $$ = $1;
>                }
>                | _ADigP _ABusy _ADigP
>                {
>                  $$ = 10*$1 + $3;
>                }
>                | _ADigP _ABusy _ADigP _ADigP
>                {
>                  $$ = 100*$1 + 10*$3 + $4;
>                }
>                | _ADigP _ABusy _ADigP _ADigP _ADigP
>                {
>                  $$ = 1000*$1 + 100*$3 + 10*$4 + $5;
>                }
>                ;

I am not a yacc-guru but i know that yacc has one symbol look ahead.
For the ADigP1_4 syntax this doesnt work..

maybe you insert a rule _ADigP_ABusy

_ADigP_ABusy	: _ADigP  _ABusy {$$ = $1; }


and change ADigP1_4 to

ADigP1_4        : _ADigP_ABusy _ADigP
                {
                  $$ = $1;
                }
                | _ADigP_ABusy _ADigP
                {
                  $$ = 10*$1 + $2;
                }
                | _ADigP_ABusy _ADigP _ADigP
                {
                  $$ = 100*$1 + 10*$2 + $3;
                }
                | _ADigP_ABusy _ADigP _ADigP _ADigP
                {
                  $$ = 1000*$1 + 100*$2 + 10*$3 + $4;
                }
                ;

or if that doesn't work insert a list like _ADigP_list

_ADigP_list	: _ADigP _ADigP_list 
		{ $$.val = $2.mul*$1 + $2.val ; 
		  $$.mul = 10*$2.mul ;
		}
		|	{ $$.mul = 1 ; $$.val = 0 }

and then ADigP1_4 would be something like:

ADigP1_4        : _ADigP_ABusy _ADigP_list
                {
			$$ = $2.mul*$1 + $2.val ;
		}

and %type of _ADigP_list is a struct with int mul; int val;



jan.
-- 
Jan Wortelboer,  University of Amsterdam
                 Computer Science Department  Email: janw@fwi.uva.nl
Unix             Kruislaan 403 Kamer F003     Phone: +31 20 525 7501
systems manager  1098 SJ AMSTERDAM            Fax  : +31 20 525 7490
Newsgroups: comp.unix.wizards
From: jim@accelr8.com (Jim Reiss)
Subject: Semaphores - Update
Organization: Accelr8 Technology Corporation
Date: Fri, 16 Oct 1992 17:55:04 GMT

Not long ago I asked for suggested alternatives to using the System V
semaphore facilities.  Suggestions included using select(), signals,
msgrcv, a special UNIX device driver, and named pipes.  My conclusion was
that the only way to get similar functionality would be to create a daemon
which would handle resource updates and waits, sending a signal to waiting
processes when a desired event has occurred.  Because of the complexity of
this, it appears we will be stuck with semaphores for a while.  Thanks for
the input, everyone.
-- 
 Jim Reiss (jim@accelr8.com)    Accelr8 Technology, Denver, Colorado, USA
 Opinions expressed above are mine.  Who else would have them?
From: acheng@ncsa.uiuc.edu (Albert Cheng)
Newsgroups: comp.unix.wizards
Subject: Re: Disk leakage?
Date: 8 Oct 92 17:25:58 GMT
Organization: Nat'l Ctr for Supercomp App (NCSA) @ University of Illinois
Originator: acheng@shalom.ncsa.uiuc.edu


In article <1992Oct8.095328.4108@bristol.ac.uk>, smee@bristol.ac.uk (Paul Smee) writes:
>We've got a mystery, in that large (in our context) chunks of disk
>occasionally mysteriously vanish, to reappear if you reboot.  I believe
>I understand the mechanism, question is a bit deeper than that.
>
>My current theory is that the space is 'vanishing' owing to files which
>have been removed from the directory hierarchy, but which are still
>being held in existence because someone still has them open, so keeping
>the inode's refcount from zeroing.  Sounds reasonable, Unix does that.

Yes, I have encounter similar problems before.  The following is an
illustration:

	dd if=/dev/zero of=/tmp/junk bs=100b count=100	#created a 5MB file
	sleep 10000 < /tmp/junk &			#sleep keeps it used
	rm /tmp/junk
	df /tmp						#5MB is missing

>Question is, anyone have any magic which would aid in determining which
>process(es) still hold the files, or (less useful, but also less
>likely) even which files they were while they still were attached to
>directories, from which I could probably make reasonable guesses
>about who was using them?  

Try "pstat -i" which shows all inodes in use, together with the sizes,
UID, etc.  Then use "ps axl" to get a list of processes of the same UID
for further investigation.  But I don't know of a simple tool to find
the PID(s) that reference the inode.  Any suggestions from real
wizards?
Newsgroups: comp.unix.wizards
From: spencer@phoenix.Princeton.EDU (S. Spencer Sun)
Subject: formatting of articles
Followup-To: comp.unix.misc
Reply-To: spencer@phoenix.princeton.edu (S. Spencer Sun)
Organization: Live Organ Transplants
Date: Mon, 12 Oct 1992 07:39:28 GMT

In article <1992Oct8.230259.1749@infodyn.com>, jth@infodyn.com (Jabba The Hutt) writes:
>You should learn about a couple of wonderful keys on your keyboard...
>the space bar and the Return key.  This article is more than a little
>confusing when every time i resize the window, the picture changes!!!

You have a valid complaint (it would also be nice if people broke lines
at 75 chars to leave room for a couple levels of quoting)... but how
many times do you resize your window in the course of reading a single
article?

Followups to comp.unix.misc, as no better place comes to mind.

-----
sss/PU'94 Dept of CS (spencer@phoenix.princeton.edu)/JvNCnet (spencer@jvnc.net)
From: melennec@stna.dgac.fr (Ronan Melennec STNA 7C p8240 BD22)
Newsgroups: comp.unix.wizards
Subject: Source code for init (was: Re: init output to console - why not?)
Date: 13 Oct 92 12:59:49 GMT
Organization: STNA 95 rue Henri Rochefort 91025 Evry Cedex - FRANCE

Hello,

I would like to know whether there exists freely available
source code for the init process ? In addition to allow
for easier I/O redirection, it would be useful (for me, at least...)
to add less spartan monitoring functionalities to it.

Regards,
-- 
Ronan Melennec              | Service Technique de la Navigation Aerienne
+33 1 60 79 82 40           | Departement 7
melennec@stna7.stna.dgac.fr | 95, rue Henri Rochefort, 91025 EVRY CEDEX, FRANCE
Newsgroups: comp.unix.wizards
From: hughm@brwah.inmos.co.uk (Hugh McIntyre)
Subject: Re: Help : Copy protection
Organization: INMOS Limited, Bristol, UK
Date: Mon, 12 Oct 1992 09:34:09 GMT

In article <1992Oct9.231618.22282@tolten.puc.cl>, pf@malloco.ing.puc.cl (Pablo Pfingsthorn, MN) writes:
|> 
|> Has anybody out there developed a way to copy protect a program ?
|> I tried to use the Ethernet hardware address (unique to each ethernet
|> interface) as a key to identify the computer, but I was unable to
|> get the address by software (without using /etc/ethers).
|> Does anybody knows how to get that address or another way to
|> copy protect a software ?

The normal method on software supplied to us (on Suns, etc) is to use the
hostid.

This is a unique number for each machine - see the manpages on hostid(1) and
gethostid(2).  Normally the hostids are stored in a license file (encrypted in
some way to stop people just adding extras, obviously).  Sometimes the encrypted
data includes an expiry date as well.

|> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|> AIOL Artificial Intelligence and Optimization Laboratory
|> Pontificia Universidad Catolica de Chile
|> 
|> Pablo Pfingsthorn                          pf@malloco.ing.puc.cl
|>                                            pf@vallenar.ing.puc.cl
|> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
From: martin@mwtech.UUCP (Martin Weitzel)
Newsgroups: comp.unix.wizards
Subject: Re: *** I NEED HELP WITH YACC !!! ***
Keywords: yacc lex
Date: 14 Oct 92 20:14:14 GMT
Reply-To: martin@mwtech.UUCP (Martin Weitzel)
Organization: MIKROS Systemware, Darmstadt/W-Germany

In article <1992Oct8.184953.27185@ugle.unit.no> runewi@alkymi.unit.no (Rune Winsevik) writes:
>Hi.
>
>Is there any yacc-gurus out there?
>Could anybody please help me out?
>I just can't get yacc to accept this yacc descripition. I KNOW the problem
>is somewhere in the "ADigP1_4" part (or isn't it....:-)....

Well, in yacc programs you often can't say "it's in this or that part"
because often it are several rules in their combination that create a
problem.

From a quick glance to y.output (created with `yacc -v grammar.y') you may
see that not all input token sequences, that are valid according to your
grammar, can be recognized by the LALR(1) parser that yacc creates.

Here's such a critical sequence:

  Input Stream:
  <tokens up to here form _ADigP _ABusy>  <look-ahead>  <more tokens>
                             |      |          |        (not visible due
  Parse Tree:                |      |          |        to LALR(1))
		          _ADigP  _ABusy    SBSNUM	??????
                              \     /	       |
Parsing variant A:           ADigP1_4	(assume this starts _ASBSNum)

Parsing variant B:  (assume we have one of the longer ADigP1_4 RHS-s)

What you have to do is to change the grammar.  (Hint: Get rid of
ADigP1_4 by expanding the four RHS-s directly into the RHS where you
used it.  Of course you also need to change the actions accordingly.
As I suppose details are not of much interrest to the readers of this
group, send mail if you still have problems.)
-- 
Martin Weitzel, email: martin@mwtech.UUCP, voice: 49-(0)6151-6 56 83
From: terry@cs.weber.edu (A Wizard of Earth C)
Subject: Re: fork() and not forget
Organization: Weber State University  (Ogden, UT)
Distribution: na
Date: Fri, 16 Oct 92 04:05:00 GMT

In article <1992Oct15.141637.18781@ms.uky.edu> kherron@ms.uky.edu (Kenneth Herron) writes:
>There's a more serious problem with wait() which hasn't been addressed 
>so far.
>
>If you start paying attention to SIGCHLD, you'll find that the parent
>receives a SIGCHLD if the child process is stopped by any of the
>process stopping signals.  So any SIGCHLD handler on a system with
>job control must be prepared to deal with a merely stopped, rather
>than terminated, child process.
>
>The problem is that wait() explicitly waits for terminated processes,
>and won't return due to a stopped one.  Both waitpid() and wait3()
>will return due to a stopped process.

Generally, there is a mechanism which will allow a "wait" style operation
without blocking to get the child status if the system is naive enough to
actually send SIGCLD for a stopped as opposed to an exiting process.

If nothing else, you can keep a list of your children, and make sure they
are not active before waiting for them by using "kill( pid, 0)" and
examining the return value from the kill.

For those systems which don't support either mechanism (I can't think of any,
since job control has only recently become popular on may systems), take it
as a subtle hint to run system software from a different vendor.


					Terry Lambert
					terry@icarus.weber.edu
					terry_lambert@novell.com
---
Any opinions in this posting are my own and not those of my present
or previous employers.
-- 
-------------------------------------------------------------------------------
                                        "I have an 8 user poetic license" - me
 Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
-------------------------------------------------------------------------------
Newsgroups: comp.unix.wizards
From: pf@malloco.ing.puc.cl (Pablo Pfingsthorn, MN)
Subject: Help : Copy protection
Reply-To: pf@malloco.ing.puc.cl
Organization: Pontificia Universidad Catolica de Chile.
Date: Fri, 9 Oct 1992 23:16:18 GMT


Has anybody out there developed a way to copy protect a program ?
I tried to use the Ethernet hardware address (unique to each ethernet
interface) as a key to identify the computer, but I was unable to
get the address by software (without using /etc/ethers).
Does anybody knows how to get that address or another way to
copy protect a software ?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AIOL Artificial Intelligence and Optimization Laboratory
Pontificia Universidad Catolica de Chile

Pablo Pfingsthorn                          pf@malloco.ing.puc.cl
                                           pf@vallenar.ing.puc.cl
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Newsgroups: comp.unix.wizards
From: fitzgb@mml0.meche.rpi.edu (Brian Fitzgerald)
Subject: Intro to comp.unix.wizards - read before posting! (weekly announcement, last change: Jul 31 10:30)
Followup-To: poster
Organization: Rensselaer Polytechnic Institute, Troy NY
Date: Sun, 11 Oct 1992 10:00:41 GMT
Expires: Tue, 10 Nov 1992 10:00:24 GMT

Please take a moment to read this before posting to comp.unix.wizards
for the first time.

comp.unix.wizards is for in-depth discussion of advanced unix topics.

Elementary questions do not belong in comp.unix.wizards.  Although some
socket questions (for example) are appropriate, "How do I program with
sockets?" is not.

Crossposting to comp.unix.wizards and comp.unix.questions is
inappropriate.  Plenty of wizards read comp.unix.questions and answer
questions there.

A wizard is someone who can rewrite the entire system from scratch.  If
you are not a wizard, you are welcome to follow along the discussions
anyway.  You'll learn quite a bit about how UNIX works.  Caution: post
to wizards only if you are yourself a wizard.

For a list of answers to frequently asked questions (FAQ), please refer
to comp.unix.questions (or comp.lang.c, news.answers, etc...).  "How do
I delete a file whose name starts with a '-' ?" is an example of such a
question.  Please do not ask or answer FAQ's on the net.

Write to Unix-Wizards-Request@BRL.MIL (Subject: subscribe.  Any
message.) if you want a daily digest of this newsgroup mailed to you.

To unsubscribe from the unix-wizards mailing list, send mail to
Unix-Wizards-Request@BRL.MIL Subject: unsubscribe.  It is incorrect to
post such requests to the list, or to mail them to me, though others
may mistakenly do so.

E-mail comments about this posting are welcome.  From time to time I'll
summarize them.

Brian
--
These opinions are mine, and do not necessarily reflect those of any
academic department or computing service at Rensselaer.
Newsgroups: comp.unix.wizards
From: cavers@menudo.uh.edu (Chris M. Cavers)
Subject: ipc stuff
Organization: University of Houston
Date: Fri, 16 Oct 1992 02:32:27 GMT

I need to know how does a device driver (i.e. the kernel 
communicate directly with user level processes?

does it use message queues, sockets, shared memory w/semaphores, rpc???

I have a device driver which I need to be able to have two way communication
with a user level process.  The ioctl calls are nice but i need to send
and receive more than 128 or 256 bytes of data.  Also, opening the device
(the character device that is) and doing reads/writes are too slow as
the io gets buffered.


thanks in advance
From: skhan@gmuvax.gmu.edu (Shahab Raza Khan)
Newsgroups: comp.unix.wizards
Subject: unsubscribe me
Date: 9 Oct 92 02:45:54 GMT

Please unsubscribe me from this newsgroup
From: kestes@nswc-wo.nswc.navy.mil (Kent Estes)
Newsgroups: comp.unix.wizards
Subject: SVR4 character device drivers needed...
Date: 16 Oct 92 11:14:57 GMT
Organization: Naval Surface Warfare Center

A friend of mine is trying to convert a BSD driver to SVR4.
Unfortunately, he has no docs for SVR4.  Could someone send him
a device driver for SVR4 (perferrably character).  His
address is sanford.henr801c@xerox.com 

tnx kestes@nswc-wo.navy.mil.
Newsgroups: comp.unix.wizards
From: terry@cs.weber.edu (A Wizard of Earth C)
Subject: Re: can I plock() another process?
Organization: Weber State University  (Ogden, UT)
Date: Fri, 16 Oct 92 03:53:46 GMT

In article <1992Oct15.193953.17108@Princeton.EDU> jsm@shade.Princeton.EDU (John Scott McCauley Jr.) writes:
>Hello,
>	I am having trouble with CPU hogs swapping out interactive processes
>(csh, xterm, vtwm).  I suppose I could add a plock(TLOCK) in every process
>I don't want swapped  out, but that would require recompiling a lot of
>code plus locking too much memory would be bad.

Or you could set the "sticky" bit on the executables.


					Terry Lambert
					terry@icarus.weber.edu
					terry_lambert@novell.com
---
Any opinions in this posting are my own and not those of my present
or previous employers.
-- 
-------------------------------------------------------------------------------
                                        "I have an 8 user poetic license" - me
 Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
-------------------------------------------------------------------------------
Newsgroups: comp.unix.wizards
From: subbarao@tex.Princeton.EDU (Kartik Subbarao)
Subject: Re: fork() and forget..How?
Reply-To: subbarao@fc.hp.com
Organization: putchar('I'); for (i = 0; i < 3; i++) putchar('E');
Date: Fri, 9 Oct 1992 14:56:27 GMT

In article <1992Oct9.130646.7250@progress.com> gus@progress.COM (Gus Bjorklund) writes:
>
>You also should make sure that when the parent exits, it wait()'s
>for any children which have not yet finished.

This is not necessary. If a child process dies, and it's parent isn't
around, then it will become adopted by init, who will dutifully wait() for
it.

	-Kartik
From: ignatz@chinet.chi.il.us (Dave Ihnat)
Newsgroups: comp.unix.wizards
Subject: Re: how to get a signal when a non-child process dies
Summary: Try semaphores
Keywords: signal, process
Date: 13 Oct 92 16:16:35 GMT
Article-I.D.: chinet.Bw2IJo.3oq
Organization: Chinet - Public Access UNIX

In article <Bw0Grz.28C@wldelft.nl> kool@ws01cso.wldelft.nl (Marc H. Kool) writes:
>
>I am writing an application that start long-lasting child processes.
>I use the SIGCHLD signal to enter a signal handler when a child dies.
>Everything is OK so far.
>
>What I want is to be able to leave the `master' process, (re)start it
>at a later time and to get a signal when a ``child process'' 
>(which I created with the previous master process) dies.

You don't say what platform you're developing on, or whether portability
between unadorned BSD/SYSV is important.  But if all yyour target OS versions
support System V-style counting semaphores--fairly safe in Sun or SYSV3/4
implementations--you can simply have each child attach to a semaphore in
a set, and the 'master' can either directly use the semaphores, or spawn a
monitor child which does all the armwaving and just notifies it of any
deaths in the family.

		Dave Ihnat
		ignatz@homebru.chi.il.us (preferred return address)
		ignatz@chinet.chi.il.us
Newsgroups: comp.unix.wizards
From: gus@progress.COM (Gus Bjorklund)
Subject: Re: fork() and forget..How?
Organization: Progress Software Corp.
Date: Fri, 9 Oct 1992 13:06:46 GMT

subbarao@tex.Princeton.EDU (Kartik Subbarao) writes:

>In article <1992Oct07.194020.14527@ctms.gwinnett.com> kirk@ctms.gwinnett.com (R. Kirk Waterhouse) writes:

>Processes generate SIGCHLD when they die. What you want here is to install a 
>signal handler that waits for the children as and when they die:

># include <signal.h>

>waiter()
>{
>	union wait st;
>	while (wait3(&st, WNOHANG, NULL) > 0);
>}

>in your process that fork()s, stick this in:

>signal(SIGCHLD, waiter);

>So, you need not insert any wait's in your main code, and you can service 
>requests from the pipe without waiting for the previous one to finish. When
>the processes die, the interrupt routine waiter() will be called to clean
>up shop, and you'll be returned back to your regularly scheduled
>programming.

You also should make sure that when the parent exits, it wait()'s
for any children which have not yet finished.
--
Gus Bjorklund              uucp:     ...mit-eddie!progress!gus
Progress Software Corp.    internet: gus@progress.com
14 Oak Park                phone:    6172804361
Bedford, MA  01730         fax:      6172804095
From: brnstnd@nyu.edu (D. J. Bernstein)
Newsgroups: comp.unix.wizards
Subject: Re: Disk leakage?
Date: 11 Oct 92 05:09:42 GMT
Organization: IR

In article <1b1r86INNock@early-bird.think.com> barmar@think.com (Barry Margolin) writes:
> I don't think a zombie process can have open files.

Zombie processes can have open files and quite a bit more state. On a
variety of BSD systems you can see this using pff from my kstuff
package.

---Dan
From: smb@ulysses.att.com (Steven Bellovin)
Subject: Re: Disk leakage?
Date: Mon, 12 Oct 1992 01:14:46 GMT
Organization: AT&T Bell Laboratories

In article <1992Oct11.153657.29059@netcom.com>, jtk@netcom.com (Jane Valencia) writes:
> I think you need to start listing particular operating systems.  On
> the (BSD-based) operating systems I've worked on, the exiting process
> closes all its files before becoming a zombie.

Note the difference between a zombie process and one that's exiting --
the latter indicates one that is closing its files.  If one close
hangs -- and I've seen that happen *many* times -- later file descriptors
will still be open.
Xref: sparky comp.unix.wizards:4296 comp.unix.sysv386:15536 comp.unix.sys5.r3:48 comp.unix.pc-clone.32bit:313
From: geek+@CMU.EDU (Brian E. Gallew)
Newsgroups: comp.unix.wizards,comp.unix.admin
Subject: Top for the DG Aviion
Date: 15 Oct 92 11:24:48 GMT
Article-I.D.: andrew.IerQK0200VB9I1=N1V
Organization: Administrative Systems, Carnegie Mellon, Pittsburgh, PA

Has anybody out there been able to build top for the Aviion?  I'm
running DG/UX 5.4.1, and it looks like a pretty solid re-write for all
the information-gathering sections of code.  Please tell me someone's
already done it!

                                  -Brian

-------------------------------------------------------------------------
| "Are they dead?"                                                      |
| "Does it matter?"                                                     |
|   - Pugsley and Wednesday in "The Addams Family."                     |
-------------------------------------------------------------------------
Newsgroups: comp.unix.wizards