[cl-debian] Bug#326092: cl-acl-compat: With SBCL PROCESS-ACTIVE-P does not work with non running threads.

Kim Minh Kaplan qdsmgbm02 at sneakemail.com
Thu Sep 1 18:34:21 UTC 2005


Package: cl-acl-compat
Version: 1.2.42+cvs.2005.08.05-1
Severity: normal
Tags: patch


Running SBCL and calling PROCESS-ACTIVE-P on a process that has not
yet been started in a thread signals an error.  Here is an example
session:

$ sbcl
This is SBCL 0.9.3.36, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* (clc:clc-require :acl-compat)
STYLE-WARNING: redefining INPUT-FILES (COMPILE-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: redefining OUTPUT-FILES (COMPILE-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: redefining PERFORM :AFTER (COMPILE-OP UNIX-DSO) in DEFMETHOD
STYLE-WARNING: redefining OUTPUT-FILES (COMPILE-OP C-SOURCE-FILE) in DEFMETHOD
STYLE-WARNING: redefining PERFORM (COMPILE-OP C-SOURCE-FILE) in DEFMETHOD
STYLE-WARNING: redefining PERFORM (LOAD-OP C-SOURCE-FILE) in DEFMETHOD
STYLE-WARNING: redefining PERFORM (LOAD-OP UNIX-DSO) in DEFMETHOD

STYLE-WARNING: implicitly creating new generic function URI-P
STYLE-WARNING: implicitly creating new generic function URI-PARSED-PATH
STYLE-WARNING: implicitly creating new generic function (SETF URI-PARSED-PATH)
STYLE-WARNING: implicitly creating new generic function URI
STYLE-WARNING: implicitly creating new generic function MERGE-URIS
STYLE-WARNING: implicitly creating new generic function ENOUGH-URI
STYLE-WARNING: implicitly creating new generic function INTERN-URI
COMMON-LISP:STYLE-WARNING:
   Couldn't grovel for SIGEMT (unknown to the C compiler).
COMMON-LISP:STYLE-WARNING:
   Couldn't grovel for SIGINFO (unknown to the C compiler).
COMMON-LISP:STYLE-WARNING:
   Couldn't grovel for O_NOFOLLOW (unknown to the C compiler).
COMMON-LISP:STYLE-WARNING:
   Couldn't grovel for O_DIRECTORY (unknown to the C compiler).
COMMON-LISP:STYLE-WARNING:
   Couldn't grovel for O_DIRECT (unknown to the C compiler).
COMMON-LISP:STYLE-WARNING:
   Couldn't grovel for O_LARGEFILE (unknown to the C compiler).
;;; Please wait, recompiling library...
STYLE-WARNING: implicitly creating new generic function RECEIVE-FROM
STYLE-WARNING: implicitly creating new generic function SEND-TO
T
* (acl-mp:process-active-p (acl-mp:make-process))

debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" {9003221}>:
  The value NIL is not of type SB-THREAD:THREAD.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-THREAD::THREAD-STATE NIL)
0]

And here is a trivial fix.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11-1-k7
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)

Versions of packages cl-acl-compat depends on:
ii  cl-ppcre                      1.2.11-1   Portable Regular Express Library f
ii  cl-puri                       1.3.1.2-1  Common Lisp Portable URI Library
ii  common-lisp-controller        4.16       This is a Common Lisp source and c

cl-acl-compat recommends no packages.

-- no debconf information
-------------- next part --------------
--- /usr/share/common-lisp/source/acl-compat/sbcl/acl-mp.lisp	2005-08-08 10:16:33.000000000 +0200
+++ acl-mp.lisp	2005-09-01 20:28:45.000000000 +0200
@@ -290,4 +290,5 @@
     (decf ,place)))
 
 (defun process-active-p (process)
-  (sb-thread:thread-alive-p (process-id process)))
+  (and (process-id process)
+       (sb-thread:thread-alive-p (process-id process))))


More information about the Cl-debian mailing list