HP3000-L Archives

November 2000, Week 1

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:
"BIXBY,MARK (HP-Cupertino,ex1)" <[log in to unmask]>
Reply To:
BIXBY,MARK (HP-Cupertino,ex1)
Date:
Thu, 2 Nov 2000 15:50:06 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (47 lines)
Hi HP3000-L,

I'm looking for volunteers interested in testing 6.0 or 6.5 beta patch
PX1LXC8 which alters the POSIX getenv() function to behave like getenv() on
HPUX or Linux.

The current behavior of MPE getenv() returns a pointer to a data buffer
which may get overlaid by subsequent getenv() calls.  If you call getenv()
and save these pointers for later use, then call getenv() some more so that
the buffer gets overlaid, your original saved pointers no longer point to
the data you expect.

The new behavior of getenv() implemented by PX1LXC8 returns a pointer
directly to the environment variable's location within the buffer of all of
the environment variables.  Multiple getenv() calls for the same environment
variable will always return the same address and the data therein will not
be overlaid.

This problem was on an internal "porting enabler" list for a long time, but
Apache on jazz showed that this problem can affect Apache if it has been
configured very abnormally so that the child processes are immortal and thus
eventually over time fall victim to the buffer overlay caused by repeated
getenv()s.  So we moved up the priority of fixing this.  :-)

Please reply directly to me if you're interested in testing this patch.
Thanks!

- Mark B.

PS: The 6.0 patch is built on top of a whole lot of other 6.0 patches that
you will also receive the functionality for:

PX1LXC8(B) supersedes : MPELX51(C), MPELX44(C), MPELX87(A), MPEKXK8(E),
MPELX83(C),
MPEKXB1(B), MPEKXY3(D), MPELX72(D), MPELX65(A), MPELX55(A), MPEKXY4(F),
MPEKXU1(D),
MPEKXP3(B), MPEKXJ8(B), MPEKXU3(F), MPEKXK4(B), MPEKXG3(B), MPEKXW0(A),
MPEKXU0(D),
MPEKXC0(C), MPEKXB9(C), MPEKXB6(D), MPEKXT8(C), MPEKXL9(E), MPEKXV5(A),
MPEKXR2(A),
MPEKXN4(B), MPEKX37(I), MPEKXK7(C), MPEKXH8(B), MPEKX86(I), MPEJXY1(C),
MPEKXT3(B),
MPEKX40(C)

The 6.5 version of the patch does not supersede anything, so the only
functionality change will be getenv().

ATOM RSS1 RSS2