bordeaux-threads:bordeaux-threads.git
4 years agoAdd :timeout option to condition-wait. master
James M. Lawrence [Sat, 14 Sep 2013 15:37:50 +0000 (11:37 -0400)]
Add :timeout option to condition-wait.

Implemented for: ABCL, Allegro, CLISP, Clozure, ECL,
LispWorks 6.0 and later, SBCL, SCL.

Other implementations signal an error when condition-wait
is called with a non-nil :timeout argument. A style-warning
may be issued during compilation.

Thanks to Thomas Monro for surveying this functionality
across Lisp implementations.

4 years agoFix starvation with green threads in test
James M. Lawrence [Sat, 14 Sep 2013 15:37:50 +0000 (11:37 -0400)]
Fix starvation with green threads in test

Allegro Express now finishes tests

4 years agoStyle fixes
Stelian Ionescu [Tue, 15 Oct 2013 14:59:00 +0000 (16:59 +0200)]
Style fixes

4 years agoAllegro: fix JOIN-THREAD on 9.0 SMP
Stelian Ionescu [Tue, 15 Oct 2013 14:38:31 +0000 (16:38 +0200)]
Allegro: fix JOIN-THREAD on 9.0 SMP

The native MP:PROCESS-JOIN returns a list of the returned values, pass
that to VALUES-LIST

4 years agoAllegro: support pre-9.0 versions without :smputils
Lucas Hope [Wed, 11 Sep 2013 23:19:24 +0000 (09:19 +1000)]
Allegro: support pre-9.0 versions without :smputils

4 years agoClozure: fix THREAD-ALIVE-P
Bill St. Clair [Thu, 26 Sep 2013 14:42:57 +0000 (16:42 +0200)]
Clozure: fix THREAD-ALIVE-P

5 years agoNew development cycle
Stelian Ionescu [Sun, 7 Apr 2013 01:18:52 +0000 (03:18 +0200)]
New development cycle

5 years agoRelease 0.8.3 v0.8.3
Stelian Ionescu [Sun, 7 Apr 2013 01:14:26 +0000 (03:14 +0200)]
Release 0.8.3

5 years agoFix DEFDFUN and DEFDMACRO to work on ECL
Stelian Ionescu [Sat, 6 Apr 2013 21:26:23 +0000 (23:26 +0200)]
Fix DEFDFUN and DEFDMACRO to work on ECL

Wrap their expansion in a full EVAL-WHEN

5 years agoCMUCL: use PROCESS-JOIN if present
Stelian Ionescu [Sat, 6 Apr 2013 21:25:41 +0000 (23:25 +0200)]
CMUCL: use PROCESS-JOIN if present

5 years agoLispworks: use PROCESS-PROPERTY instead of PROCESS-PRIVATE-PROPERTY
Martin Simmons [Thu, 21 Mar 2013 18:58:18 +0000 (19:58 +0100)]
Lispworks: use PROCESS-PROPERTY instead of PROCESS-PRIVATE-PROPERTY

Process private properties are removed when the process exits

5 years agoAllegro: use process property list for return values on non-SMP versions
Stelian Ionescu [Mon, 18 Mar 2013 17:35:52 +0000 (18:35 +0100)]
Allegro: use process property list for return values on non-SMP versions

5 years agoOops, forgot the lambda
Stelian Ionescu [Sat, 16 Mar 2013 17:53:52 +0000 (18:53 +0100)]
Oops, forgot the lambda

5 years agoLispworks: use PROCESS-PRIVATE-PROPERTY instead of PROCESS-PROPERTY
Stelian Ionescu [Sat, 16 Mar 2013 17:52:50 +0000 (18:52 +0100)]
Lispworks: use PROCESS-PRIVATE-PROPERTY instead of PROCESS-PROPERTY

5 years agoLispworks: return thread return values from JOIN-THREAD
Stelian Ionescu [Sat, 16 Mar 2013 17:51:14 +0000 (18:51 +0100)]
Lispworks: return thread return values from JOIN-THREAD

5 years agoCMUCL: return thread return values from JOIN-THREAD
Stelian Ionescu [Sat, 16 Mar 2013 17:28:31 +0000 (18:28 +0100)]
CMUCL: return thread return values from JOIN-THREAD

5 years agoStyle fix
Stelian Ionescu [Sat, 16 Mar 2013 17:22:09 +0000 (18:22 +0100)]
Style fix

5 years agoAdd a few more tests
Stelian Ionescu [Fri, 15 Mar 2013 23:37:00 +0000 (00:37 +0100)]
Add a few more tests

5 years agoAdd explanation
Stelian Ionescu [Wed, 13 Mar 2013 01:54:27 +0000 (02:54 +0100)]
Add explanation

5 years agoFix another closure bug
Stelian Ionescu [Wed, 13 Mar 2013 01:52:39 +0000 (02:52 +0100)]
Fix another closure bug

5 years agoFix test SHOULD-HAVE-THREAD-INTERACTION
Stelian Ionescu [Wed, 13 Mar 2013 01:38:25 +0000 (02:38 +0100)]
Fix test SHOULD-HAVE-THREAD-INTERACTION

5 years agoSBCL: use GRAB-MUTEX instead of GET-MUTEX on newer SBCLs
Stelian Ionescu [Tue, 12 Mar 2013 00:24:18 +0000 (01:24 +0100)]
SBCL: use GRAB-MUTEX instead of GET-MUTEX on newer SBCLs

5 years agoStyle fix
Stelian Ionescu [Tue, 12 Mar 2013 00:24:05 +0000 (01:24 +0100)]
Style fix

5 years ago.asd: Remove (in-package :cl-user), it's not needed.
Stas Boukarev [Fri, 1 Feb 2013 23:45:02 +0000 (03:45 +0400)]
.asd: Remove (in-package :cl-user), it's not needed.

5 years agodefdfun, defdmacro: Fix reloading.
Stas Boukarev [Fri, 1 Feb 2013 23:44:36 +0000 (03:44 +0400)]
defdfun, defdmacro: Fix reloading.

When recompiling an already loaded file, the macroexpansion-time check
for FBOUND prevents the definition to be compiled, and when the resulting
fasl is loaded into a fresh image, the definition will be missing.
Move the fbound check into the expansion itself.

6 years agoRevert "Move calls to REQUIRE into the DEFSYSTEM"
Stelian Ionescu [Sat, 11 Aug 2012 20:11:53 +0000 (22:11 +0200)]
Revert "Move calls to REQUIRE into the DEFSYSTEM"

This reverts commit 18f6ed50ef0b3ad91727640bfa53bc8fd169b595.

6 years agoFix modelines
Stelian Ionescu [Sun, 5 Aug 2012 13:58:32 +0000 (15:58 +0200)]
Fix modelines

6 years agoQualify DEFPACKAGE
Stelian Ionescu [Sun, 5 Aug 2012 13:58:04 +0000 (15:58 +0200)]
Qualify DEFPACKAGE

6 years agoMove calls to REQUIRE into the DEFSYSTEM
Stelian Ionescu [Sun, 5 Aug 2012 13:51:33 +0000 (15:51 +0200)]
Move calls to REQUIRE into the DEFSYSTEM

6 years agoAdd support for ManKai CommonLisp
Jean-Claude Beaudoin [Sun, 5 Aug 2012 13:49:23 +0000 (15:49 +0200)]
Add support for ManKai CommonLisp

6 years agoAllegro: use built-in condition variables
James M. Lawrence [Thu, 5 Jul 2012 22:21:26 +0000 (18:21 -0400)]
Allegro: use built-in condition variables

6 years agoClozure: fix condition-wait
James M. Lawrence [Fri, 29 Jun 2012 19:02:45 +0000 (15:02 -0400)]
Clozure: fix condition-wait

If release-lock fails then do not call acquire-lock.

6 years agoLispworks: fix THREADP
Martin Simmons [Fri, 15 Jun 2012 16:38:15 +0000 (18:38 +0200)]
Lispworks: fix THREADP

6 years agoNew development cycle
Stelian Ionescu [Fri, 1 Jun 2012 19:19:25 +0000 (21:19 +0200)]
New development cycle

6 years agoRelease 0.8.2 v0.8.2
Stelian Ionescu [Fri, 1 Jun 2012 19:17:41 +0000 (21:17 +0200)]
Release 0.8.2

6 years agoLispworks: adjustments for 6.1
Kamil Shakirov [Tue, 17 Apr 2012 13:55:19 +0000 (15:55 +0200)]
Lispworks: adjustments for 6.1

6 years agoAllegro: fix call to MAKE-LOCK
Stelian Ionescu [Mon, 26 Mar 2012 18:51:43 +0000 (20:51 +0200)]
Allegro: fix call to MAKE-LOCK

6 years agoAllegro: move thread functions after locking functions
Stelian Ionescu [Mon, 26 Mar 2012 14:36:53 +0000 (16:36 +0200)]
Allegro: move thread functions after locking functions

6 years agoAllegro: capture a thread's return value and return it from JOIN-THREAD
Stelian Ionescu [Sun, 25 Mar 2012 23:20:28 +0000 (01:20 +0200)]
Allegro: capture a thread's return value and return it from JOIN-THREAD

Bug reported by Mizumaru Kiyoshi

6 years agoAdd description keyword to ASDF system
Stelian Ionescu [Wed, 16 Nov 2011 17:24:34 +0000 (18:24 +0100)]
Add description keyword to ASDF system

7 years agoAdd README
Stelian Ionescu [Tue, 2 Aug 2011 22:35:27 +0000 (00:35 +0200)]
Add README

7 years agoVersion 0.8.1 v0.8.1
Stelian Ionescu [Tue, 2 Aug 2011 22:21:48 +0000 (00:21 +0200)]
Version 0.8.1

7 years agoABCL: implement condition variables
Mark Evenson [Thu, 7 Apr 2011 17:06:50 +0000 (19:06 +0200)]
ABCL: implement condition variables

7 years agoABCL: reimplement locks based on java.util.concurrent.locks.ReentrantLock
Mark Evenson [Thu, 7 Apr 2011 17:06:11 +0000 (19:06 +0200)]
ABCL: reimplement locks based on java.util.concurrent.locks.ReentrantLock

7 years agoABCL: import a few symbols from package JAVA
Stelian Ionescu [Wed, 23 Feb 2011 12:29:32 +0000 (13:29 +0100)]
ABCL: import a few symbols from package JAVA

7 years agoCosmetic fix
Stelian Ionescu [Wed, 23 Feb 2011 12:28:41 +0000 (13:28 +0100)]
Cosmetic fix

7 years agoABCL: Fix THREAD-YIELD
Mark Evenson [Sat, 19 Feb 2011 21:56:06 +0000 (22:56 +0100)]
ABCL: Fix THREAD-YIELD

7 years agoABCL: Fix DEFTYPE THREAD
Mark Evenson [Sat, 19 Feb 2011 21:52:40 +0000 (22:52 +0100)]
ABCL: Fix DEFTYPE THREAD

7 years agoReorder #+ clauses that define THREAD-SUPPORT to match DEFSYSTEM
Stelian Ionescu [Fri, 14 Jan 2011 17:11:19 +0000 (18:11 +0100)]
Reorder #+ clauses that define THREAD-SUPPORT to match DEFSYSTEM

7 years agoFix compilation on implementations which don't support threads
Stelian Ionescu [Fri, 14 Jan 2011 17:07:34 +0000 (18:07 +0100)]
Fix compilation on implementations which don't support threads

Thanks to Kilian Sprotte for reporting this.

7 years agoRemove warning about threads not being supported
Stelian Ionescu [Thu, 4 Nov 2010 12:09:49 +0000 (13:09 +0100)]
Remove warning about threads not being supported

7 years agoNew development cycle
Stelian Ionescu [Sat, 2 Oct 2010 13:37:32 +0000 (15:37 +0200)]
New development cycle

7 years agoVersion 0.8.0 v0.8.0
Stelian Ionescu [Sat, 2 Oct 2010 13:33:27 +0000 (15:33 +0200)]
Version 0.8.0

8 years agoAdd support for ECL 10.7.1
Kamil Shakirov [Mon, 23 Aug 2010 22:22:44 +0000 (00:22 +0200)]
Add support for ECL 10.7.1

8 years agoUpdate ABCL implementation
Mahmud Mohamed [Fri, 20 Aug 2010 22:19:11 +0000 (00:19 +0200)]
Update ABCL implementation

8 years agoFix LispWorks6 implementation
Ryan Hope [Wed, 18 Aug 2010 20:03:13 +0000 (22:03 +0200)]
Fix LispWorks6 implementation

8 years agoSwitch test suite to FiveAM
Phil Hargett [Wed, 4 Aug 2010 13:40:38 +0000 (21:40 +0800)]
Switch test suite to FiveAM

8 years agoUpdate ABCL implementation to 0.20.0
Stelian Ionescu [Sun, 30 May 2010 10:25:54 +0000 (18:25 +0800)]
Update ABCL implementation to 0.20.0

8 years agoRemove :joinable-p from %MAKE-THREAD on Clisp, upstream made all threads joinable.
Stelian Ionescu [Mon, 15 Feb 2010 22:22:00 +0000 (23:22 +0100)]
Remove :joinable-p from %MAKE-THREAD on Clisp, upstream made all threads joinable.

8 years agoFix MAKE-THREAD on Clisp.
Stelian Ionescu [Mon, 15 Feb 2010 14:45:55 +0000 (15:45 +0100)]
Fix MAKE-THREAD on Clisp.

8 years agoStyle fix.
Stelian Ionescu [Mon, 15 Feb 2010 13:53:09 +0000 (14:53 +0100)]
Style fix.

8 years agoFix docstring of MAKE-THREAD.
Stelian Ionescu [Mon, 15 Feb 2010 13:51:15 +0000 (14:51 +0100)]
Fix docstring of MAKE-THREAD.

8 years agoRemove own implementation of JOIN-THREAD for Clisp following latest HEAD.
Stelian Ionescu [Mon, 15 Feb 2010 13:50:49 +0000 (14:50 +0100)]
Remove own implementation of JOIN-THREAD for Clisp following latest HEAD.

8 years agoAdd DYNAMIC-EXTENT declarations to INTERRUPT-THREAD args for ClozureCL and MCL.
James Anderson [Sun, 14 Feb 2010 20:32:07 +0000 (21:32 +0100)]
Add DYNAMIC-EXTENT declarations to INTERRUPT-THREAD args for ClozureCL and MCL.

8 years agoFix DEFTYPE THREAD for MCL.
James Anderson [Sun, 14 Feb 2010 20:30:37 +0000 (21:30 +0100)]
Fix DEFTYPE THREAD for MCL.

8 years agoImplement ACQUIRE-LOCK and RELEASE-LOCK for MCL.
James Anderson [Sun, 14 Feb 2010 20:30:09 +0000 (21:30 +0100)]
Implement ACQUIRE-LOCK and RELEASE-LOCK for MCL.

8 years agoAdd external function START-MULTIPROCESSING.
Stelian Ionescu [Sat, 6 Feb 2010 01:16:07 +0000 (02:16 +0100)]
Add external function START-MULTIPROCESSING.

8 years agoDon't call MP:INITIALIZE-MULTIPROCESSING at load-time on Lispworks.
Stelian Ionescu [Sat, 6 Feb 2010 00:57:38 +0000 (01:57 +0100)]
Don't call MP:INITIALIZE-MULTIPROCESSING at load-time on Lispworks.

8 years agoAdd recursive locks for Lispworks.
Matt Lamari [Sat, 6 Feb 2010 00:02:42 +0000 (01:02 +0100)]
Add recursive locks for Lispworks.

8 years agoStyle fix.
Stelian Ionescu [Fri, 5 Feb 2010 23:42:14 +0000 (00:42 +0100)]
Style fix.

8 years agoAdd native implementation of condition variables for Lispworks 5.
Matt Lamari [Wed, 20 Jan 2010 22:34:36 +0000 (23:34 +0100)]
Add native implementation of condition variables for Lispworks 5.

8 years agoAdd condition variable wrappers for Lispworks 6.
Stelian Ionescu [Wed, 20 Jan 2010 22:32:55 +0000 (23:32 +0100)]
Add condition variable wrappers for Lispworks 6.

8 years agoFixes for MCL.
Chun Tian (binghe) [Wed, 20 Jan 2010 21:53:23 +0000 (22:53 +0100)]
Fixes for MCL.

8 years agoFix .asd file: compile default-implementation.lisp after condition-variables.lisp
Stelian Ionescu [Wed, 20 Jan 2010 21:40:22 +0000 (22:40 +0100)]
Fix .asd file: compile default-implementation.lisp after condition-variables.lisp

8 years agoINTERRUPT-THREAD now takes &REST args to be passed to the interrupt function.
Stelian Ionescu [Wed, 20 Jan 2010 20:39:00 +0000 (21:39 +0100)]
INTERRUPT-THREAD now takes &REST args to be passed to the interrupt function.

Where the native functions does not take &REST args, a dynamic-extent
closure is consed.

8 years agoAdd type THREAD.
Stelian Ionescu [Wed, 20 Jan 2010 19:51:20 +0000 (20:51 +0100)]
Add type THREAD.

8 years agoMinor cleaning of .asd files.
Tobias C Rittweiler [Wed, 13 Jan 2010 21:36:50 +0000 (22:36 +0100)]
Minor cleaning of .asd files.

  * Remove BT-SYSTEM package while preserving LOADability
    of .asd files.

  * Move test suite related bits from BT's TEST-OP to new
    BT-TEST's TEST-OP.

  * Make BT's TEST-OP simply invoke BT-TEST's TEST-OP.

8 years agoMake version.lisp-expr reflect the release of 0.7.0
Stelian Ionescu [Fri, 25 Dec 2009 01:30:30 +0000 (02:30 +0100)]
Make version.lisp-expr reflect the release of 0.7.0

8 years agoVersion 0.7.0 Version_0_7_0
Stelian Ionescu [Fri, 25 Dec 2009 01:24:00 +0000 (02:24 +0100)]
Version 0.7.0

8 years agoFix test DEFAULT-SPECIAL-BINDINGS.
Stelian Ionescu [Fri, 25 Dec 2009 00:30:29 +0000 (01:30 +0100)]
Fix test DEFAULT-SPECIAL-BINDINGS.

8 years agoUntabify bordeaux-threads-test.lisp
Stelian Ionescu [Thu, 24 Dec 2009 23:55:44 +0000 (00:55 +0100)]
Untabify bordeaux-threads-test.lisp

8 years agoDon't define condition TIMEOUT on SBCL.
Stelian Ionescu [Thu, 24 Dec 2009 23:51:17 +0000 (00:51 +0100)]
Don't define condition TIMEOUT on SBCL.

8 years agoAdd pkgdcl.lisp to bordeaux-threads.asd
Stelian Ionescu [Thu, 24 Dec 2009 23:48:39 +0000 (00:48 +0100)]
Add pkgdcl.lisp to bordeaux-threads.asd

8 years agoMove version from .asd files to version.lisp-expr
Stelian Ionescu [Thu, 24 Dec 2009 23:39:55 +0000 (00:39 +0100)]
Move version from .asd files to version.lisp-expr

8 years agoMove package definition into pkgdcl.lisp
Stelian Ionescu [Thu, 24 Dec 2009 23:36:21 +0000 (00:36 +0100)]
Move package definition into pkgdcl.lisp

8 years agoCleanup: rename implementatio-dependent files.
Stelian Ionescu [Thu, 24 Dec 2009 23:31:12 +0000 (00:31 +0100)]
Cleanup: rename implementatio-dependent files.

8 years agoFix default WITH-TIMEOUT.
Stelian Ionescu [Thu, 24 Dec 2009 23:30:35 +0000 (00:30 +0100)]
Fix default WITH-TIMEOUT.

8 years agoPut list of contributors into a separate files, clean .asd files.
Stelian Ionescu [Thu, 24 Dec 2009 23:17:38 +0000 (00:17 +0100)]
Put list of contributors into a separate files, clean .asd files.

8 years agoBetter WITH-TIMEOUT, add dependency on Alexandria.
Stelian Ionescu [Thu, 24 Dec 2009 23:13:33 +0000 (00:13 +0100)]
Better WITH-TIMEOUT, add dependency on Alexandria.

8 years agoUpdate my email address.
Stelian Ionescu [Wed, 11 Nov 2009 14:00:20 +0000 (15:00 +0100)]
Update my email address.

8 years agoSplit system BORDEAUX-THREADS-TEST into its own .asd
Stelian Ionescu [Sat, 10 Oct 2009 21:39:12 +0000 (23:39 +0200)]
Split system BORDEAUX-THREADS-TEST into its own .asd

9 years agoDon't DEFINE-CONDITION TIMEOUT on SBCL.
Stelian Ionescu [Tue, 22 Sep 2009 23:22:09 +0000 (01:22 +0200)]
Don't DEFINE-CONDITION TIMEOUT on SBCL.

9 years agoImplement MAKE-RECURSIVE-LOCK on Allegro.
Stelian Ionescu [Mon, 21 Sep 2009 22:48:31 +0000 (00:48 +0200)]
Implement MAKE-RECURSIVE-LOCK on Allegro.

9 years agoDefine WITH-LOCK-HELD without EVAL-WHEN(on Lispworks).
Stelian Ionescu [Mon, 21 Sep 2009 22:14:33 +0000 (00:14 +0200)]
Define WITH-LOCK-HELD without EVAL-WHEN(on Lispworks).

9 years agoAdd keyarg NAME to MAKE-CONDITION-VARIABLE.
Attila Lendvai [Mon, 21 Sep 2009 22:01:35 +0000 (00:01 +0200)]
Add keyarg NAME to MAKE-CONDITION-VARIABLE.

9 years agoImport SB-EXT:TIMEOUT on SBCL.
Stelian Ionescu [Mon, 21 Sep 2009 21:30:08 +0000 (23:30 +0200)]
Import SB-EXT:TIMEOUT on SBCL.

9 years agoCosmetic changes.
Stelian Ionescu [Mon, 10 Aug 2009 22:13:45 +0000 (00:13 +0200)]
Cosmetic changes.

9 years agoUpdate Clisp implementation, implement DESTROY-THREAD and THREAD-JOIN.
Vladimir Tzankov [Mon, 10 Aug 2009 21:25:05 +0000 (23:25 +0200)]
Update Clisp implementation, implement DESTROY-THREAD and THREAD-JOIN.

9 years agoFixes for Clisp HEAD.
Stelian Ionescu [Sun, 12 Jul 2009 23:04:02 +0000 (01:04 +0200)]
Fixes for Clisp HEAD.

Remove DISTROY-THREAD, since Clisp no longer has MT:THREAD-KILL.

9 years agoImplement JOIN-THREAD on Allegro, CMUCL, Lispworks and SCL.
Stelian Ionescu [Sat, 2 May 2009 16:35:11 +0000 (18:35 +0200)]
Implement JOIN-THREAD on Allegro, CMUCL, Lispworks and SCL.