emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: QNX subprocess bug


From: Stefan Monnier
Subject: Re: QNX subprocess bug
Date: Sat, 25 Mar 2006 23:33:47 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

>     The bug is showing up in emacs 21.2.1 on QNX 6.3.0.  It appears
>     that process IDs on QNX really occupy 32-bits.  Some of them are
>     quite large.  This causes a problem in the subprocess package
>     which uses an elisp integer (28 bits + type info - I think) to
>     try to store the PID.

>     Obvious this problem could, in principle, arise on any system that
>     uses 32-bit  process IDs, and it seems to me rather sloppy programming
>     to use such a  shortcut, especially in such comparatively rarely
>     executed code.

> It is not a short cut.  The reason the pid is represented as a Lisp
> integer is that
> (1) all the slots in a process object have to be Lisp objects,

Actually, this doesn't have to be true.  Several other kinds of similar
(vectorlike) objects have lifted this limitation, e.g. buffers.
We could easily lift this limitation.
That would also allow us to replace raw_status_(high|low) with just
raw_status.

> and (2) Emacs has no way to deal with integer values larger
> than a Lisp integer.

Actually, Emacs can store such values in floating point numbers, or encode
them in cons-cells (as is done for time values as well as file sizes).


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]