[Python-Dev] Pondering some changes to python.c...
Guido van Rossum
guido@python.org
Tue, 09 Apr 2002 10:18:56 -0400
[me]
> >This sounds awfully ill-defined. Do you know how this is accomplished
> >on various Unix variants besides Linux? What if there's some platform
[Sean]
> I got this mechanism by examining sendamil (which uses the ps output to
> display various states). Sendmail includes 6 mechanisms for setting the
> process name:
>
> pstat()
> psstrings (a struct you can set argc/argv through)
> sysmips()
> Apparently a SCO-specific mechanism which directly accesses kernel memory
> Overwriting the original argv[0]
> Setting argv[0] to point to a new buffer
>
> I have no idea how "published" one should consider these interfaces...
Oh, yuck. Bah. Please go away. :-)
> >guaranteed to work as Linux is upgraded? I'd hate to hear the
> >complaints from users when they upgrade their kernel and find that it
> >breaks Python, despite ABI compatibility promises.
>
> Indeed. It's small consolation that it would also break sendmail...
>
> >What code would have a hold of argv, except main() which just calls
> >Py_Main()?
>
> In the normal python interpreter, nothing. My concern was more with a
> system that embeddeds Python... Which is why I'd lean more towards an
> implementation which required an explicit initialization call to enable.
> That would signal Python that the embedder knew of and condoned the
> modification of the process string.
>
> I'm torn between making it a build-time option in the SRPM (defaulting to
> disabled) and just dropping it as "too contentious". Sadly, the least
> objectional way to make it happen is probably making it os.pstat() and
> wrapping the pstat() system call on the platforms that have it. "Sadly"
> because Linux doesn't seem to be one of those platforms...
Let's just drop it.
--Guido van Rossum (home page: http://www.python.org/~guido/)