growreg failure related to ld0

Prabhu Venkatesh prabhu at mitisft.Convergent.COM
Wed Apr 12 07:43:58 AEST 1989


I'm writing a tty-like STREAMS driver for 386 machine running
SysV3.2.

The user process forks().
It then opens my device,
Dups the filedesc to stdin/stdout/stderr
Pushes the STREAMS line discipline module "ld0"
Execs() /bin/sh

My problem is this:
The system console starts printing out messages about
"growreg() allocation failure....".

The control experiment is that when I take out the
"ld0" I_PUSH, the program runs fine for ever - albeit
with screwed up tty settings.

What I don't understand is that message allocation/
deallocation inside STREAMS isn't supposed to have
anything to do with growreg(), because msgblks are
gotten from preconfigured kernel memory.

Also, "ld0" works fine with the tty driver. So the
bottom line is, my driver works fine without "ld0",
and "ld0" works fine without my driver.

Anybody any ideas?

Thanks in advance.

prabhu
-- 
--------------------------------------------------------------------
Prabhu Venkatesh
prabhu at Convergent.COM -or- {pyramid,sri-unix,pacbell}!ctnews!prabhu



More information about the Comp.unix.wizards mailing list