[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