sbcl Log


Commit Date  
[239125] by Nikodemus Siivola Nikodemus Siivola

timeouts for WITH-MUTEX and WITH-RECURSIVE-LOCK

* Also support :WAIT-P in WITH-RECUSIVE-LOCK.

* Deprecate GET-MUTEX properly (been deprecated since early 2010, but didn't signal
a compile-time warning, and we used it internally.)

* Make WITH-MUTEX signal a runtime error when :VALUE is used and is other
than current thread or NIL. Releasing it isn't going to work right if
someone else holds it.

2012-09-15 11:27:09 Tree
[af3fdb] by Nikodemus Siivola Nikodemus Siivola

implement ATOMIC-PUSH and ATOMIC-POP

2012-09-15 11:27:08 Tree
[af1b96] by Lutz Euler Lutz Euler

Add a section about random number generation to the manual.

Document initial random state consistency, how to achieve or avoid
repeatability of random numbers, extensions with respect to seeding,
generation of random floats, and the currently used PRNG algorithm.

Move the docstring of SEED-RANDOM-STATE over from the "Miscellaneous
Extensions" section.

2012-08-12 18:56:40 Tree
[2273f3] by Lutz Euler Lutz Euler

Correct the info directory entry in sbcl-internals.texinfo.

The file name was wrong so that the info directory link wasn't working.
LP #1023175, thanks to Orivej Desh for the report and the fix.

2012-07-11 19:52:36 Tree
[126b9c] by Nikodemus Siivola Nikodemus Siivola

implement ATOMIC-UPDATE

Nicer than having to write explicit CAS loops.

Also improve COMPARE-AND-SWAP docstring, and remove the EXPERIMENTAL label
from it.

2012-05-21 05:35:36 Tree
[11802a] by Nikodemus Siivola Nikodemus Siivola , pushed by Nikodemus Siivola Nikodemus Siivola

more deprecation

* Add "Deprecated Interfaces" chapter to the manual.

* Add list of deprecated interfaces along with a policy note to a
comment near DEFINE-DEPRECATED-FUNCTION.

* Add a proper deprecation warning for SB-C::MERGE-TAIL-CALLS.

* Fix the deprecation warning for WITH-SPINLOCK. (Accidentally
referred to WITH-RECURSIVE-SPINLOCK before.)

2012-05-02 18:07:36 Tree
[f0da2f] by Nikodemus Siivola Nikodemus Siivola

redesign exiting SBCL

Deprecate QUIT. It occupies an uncomfortable niche between processes
and threads, and doesn't actually do what it says on the tin unless
you call it from the main thread.

SIGTERM now uses EXIT, and doesn't depend on sessions.

WITH-DEADLINE (:SECONDS NIL :OVERRIDE T) can now be used to ignore
deadlines.

JOIN-THREAD on the main thread now blocks indefinitely instead of
claiming the thread did not exit normally.

New functions:

* SB-EXT:EXIT. Always exits the process. Takes keywords :CODE,
:ABORT, and :TIMEOUT. Code is the exit status. Abort controls if
the exit is clean (unwind, exit-hooks, terminate other threads) or
dirty. Timeout controls how long to wait for other threads to
finish.

* SB-THREAD:RETURN-FROM-THREAD. Normal termination for current
thread -- equivalent to return from the thread function with the
specified values. Takes keyword :ALLOW-EXIT, which determines if
returning from the main thread is an error, or equivalent to
calling EXIT :CODE 0.

* SB-THREAD:ABORT-THREAD. Abnormal termination for current thread --
equivalent to invoking the initial ABORT restart estabilished by
MAKE-THREAD (previously known as TERMINATE-THREAD, but ANSI
recommends there to always be an ABORT restart.) Takes keyword
:ALLOW-EXIT, which determines if aborting the main thread is an
error, or equivalent to calling EXIT :CODE 1.

* SB-THREAD:MAIN-THREAD-P. Let's you determine if a given thread is
the main thread of the process. This is important for some
functions on some operating systems -- and RETURN-FROM-THREAD and
ABORT-THREAD also need it.

* SB-THREAD:MAIN-THREAD. Returns the main thread object. Convenient
for when you need to eg. load a foreign library in the main
thread.

2012-04-29 18:18:53 Tree
[8a33bf] by Nikodemus Siivola Nikodemus Siivola

protect against read-time package-lock circumvention from LOCKED::(BAR)

Instead of binding *PACKAGE*, bind *READER-PACKAGE* which only
affects the package READ-TOKEN interns into in the absence of a
prefix.

lp#902806

2011-12-12 13:53:27 Tree
[261284] by Nikodemus Siivola Nikodemus Siivola

add support for package::form-read-in-package syntax

sb-c::(csubtypep (specifier-type 'fixnum) (specifier-type 'integer))

Isn't that lovely? The superbly fantasic thing is that this even works
*right* with package locks:

(in-package :cl-user)

sb-c::(defun some-internal-bit ...)

causes a package lock violation since the current package is back to CL-USER
by the type the code is executed.

2011-12-05 10:45:36 Tree
[1a61f0] by Zach Beane Zach Beane , pushed by Christophe Rhodes Christophe Rhodes

new SET-SBCL-SOURCE-LOCATION convenience function

From Zach Beane sbcl-devel 2011-11-15.

Signed-off-by: Christophe Rhodes <csr21@cantab.net>

2011-11-19 21:36:30 Tree
[bc24f7] by Nikodemus Siivola Nikodemus Siivola

GC documentation tweaks

* Fold documentation of (SETF GC-LOGFILE) into that of GC-LOGFILE.

* Document default value of GENERATION-NUMBER-OF-GCS-BEFORE-PROMOTION.

* Order the dictionary entries in the manual's GC section more logically.
I hope.

2011-11-19 15:04:38 Tree
[b43491] by Nikodemus Siivola Nikodemus Siivola

export DYNAMIC-SPACE-SIZE from SB-EXT

2011-11-19 15:04:37 Tree
[8173d0] by Nikodemus Siivola Nikodemus Siivola

small package lock documentation cleanup

"cause result in a..." Feh. Me good english yes.

Also mention the compile-time warning for clarity.

2011-11-18 12:54:54 Tree
[9f1903] by Nikodemus Siivola Nikodemus Siivola

semaphore notification objects

2011-11-17 17:08:58 Tree
[023121] by Stas Boukarev Stas Boukarev

Fix typo in the man-page markup code.

Patch by Kenneth Westerback on lp#891114

2011-11-16 18:16:52 Tree
[993f64] by Nikodemus Siivola Nikodemus Siivola

document GRAB-MUTEX in the manual

lp#884099

2011-11-14 14:20:02 Tree
[b71b8d] by Nikodemus Siivola Nikodemus Siivola

extensible CAS and CAS extensions

DEFINE-CAS-EXPANDER and DEFCAS are analogous to DEFINE-SETF-EXPANDER and
DEFSETF, including CAS-functions similar to SETF-functions:

(defun (cas foo) (old new ...) ...)

THis is exported from SB-EXT for users to play with, and used to implement
our CAS places internally.

Add support for CAS of:

* SLOT-VALUE

* STANDARD-INSTANCE-ACCESS

* FUNCALLABLE-STANDARD-INSTANCE-ACCESS

In case of SLOT-VALUE we don't yet support any optimizations or specify
results when SLOT-VALUE-USING-CLASS or friends are in play -- perhaps later
we can add

(CAS SLOT-VALUE-USING-CLASS) &co

in order to support it for arbitrary instances.

Adding support for permutation vector optimization should not be too hard
either, but let's let the dust settle first...

2011-11-12 13:41:48 Tree
[b85af7] by Nikodemus Siivola Nikodemus Siivola , pushed by Nikodemus Siivola Nikodemus Siivola

waiting for arbitrary events SB-EXT:WAIT-FOR

While using this to wait for other threads isn't good style,
sometimes it is _much_ easier to just state the thing you're
waiting for than build the synchronization to make it nice.

And sometimes the event lives in the external world, in which case
you really need to poll anyways:

(wait-for (probe-file pathname))

2011-10-28 15:56:49 Tree
[4783db] by Christophe Rhodes Christophe Rhodes

remove myself as a provider of official support

2011-09-04 19:32:03 Tree
[77bb7c] by Paul Khuong Paul Khuong

Optionally mark pages from cores as de-duplicatable

Linux supports optimistic virtual-memory-level de-duplication for
identical pages. By default, only enable this for compressed cores.
Runtime options --[no-]merge-core-pages can be used to override the
default.

Very much experimental and a hack, but compressed cores would sometimes
be gratuitously inefficient otherwise. If/when support is generalized
to more OSes, figure out how to do this right.

Thanks to David Lichteblau for the idea.

2011-08-28 03:24:14 Tree
[20db73] by David Lichteblau David Lichteblau

New toplevel options --quit and --non-interactive

Implements lp#822712.

2011-08-09 14:50:43 Tree
[d9479b] by Nikodemus Siivola Nikodemus Siivola

export SIZE-T and OFF-T from SB-ALIEN

They're pretty common interface types.

2011-06-26 18:01:48 Tree
[92e62a] by Nikodemus Siivola Nikodemus Siivola

export *USERINIT-PATHNAME-FUNCTION* and *SYSINIT-PATHNAME-FUNCTION*

I have no idea why I didn't do that in the first place.

2011-06-10 17:19:37 Tree
[bf5163] by Nikodemus Siivola Nikodemus Siivola

A git-only SBCL workflow

This updates the SBCL build and release process to be more compatible
with distributed development -- to facilitate moving the upstream
repository into Git.

A detailed description of what is going on here is in
doc/GIT-WORKFLOW.md.

Some highlights:

* Drop version.lisp-expr and branch-version.lisp-expr.

* Auto-generate the version at build time using information
from Git, incorporating:
- Last release number.
- Number of commits on origin/master since last release.
- Current branch, if there are commits not on origin/master.
- Number of commits not on origin/master.
- SHA1 id of the last commit.
- Optional -dirty marker.

* Update release.sh to work with Git.

* Make source-distribution.sh exclude the .git directory from tarballs.

* Release tags contain NEWS for that release.

2011-06-06 06:48:08 Tree
[f71d9c] by Nikodemus Siivola Nikodemus Siivola

1.0.48.35: SB-EXT:GC-LOGFILE

GENCGC only.

(SETF SB-EXT:GC-LOGFILE) to a pathname starts logging before/after
generation statistics there. Doing the same with NIL stops logging.

2011-05-30 12:00:19 Tree
Older >