Matthew Mondor [Tue, 8 Sep 2015 07:07:58 +0000 (03:07 -0400)]
Reproduced the busy and idle situations, logging ktrace and gdb
information for each.
Matthew Mondor [Tue, 8 Sep 2015 06:55:21 +0000 (02:55 -0400)]
Add ECL build script for debug config
Matthew Mondor [Tue, 8 Sep 2015 06:47:14 +0000 (02:47 -0400)]
Also add test case program to reproduce the bug.
Dealing mostly with (test4) for now.
Matthew Mondor [Tue, 8 Sep 2015 06:44:22 +0000 (02:44 -0400)]
Add some working notes to this branch for convenience.
Matthew Mondor [Tue, 8 Sep 2015 06:41:35 +0000 (02:41 -0400)]
Merge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into netbsd-boehm-gc
Since we're diagnosing complex GC and heap related bugs, let's at
least fix this issue now on this branch.
Matthew Mondor [Tue, 8 Sep 2015 06:39:03 +0000 (02:39 -0400)]
On NetBSD-6, real-time signals are not exported to userland by
default. They appear to work, but gdb has trouble to identify
them. Let's use SIGPWR and SIGXCPU instead for diagnostics.
Matthew Mondor [Mon, 7 Sep 2015 10:06:36 +0000 (06:06 -0400)]
Update CHANGELOG for various recent fixes
Matthew Mondor [Sun, 6 Sep 2015 11:47:12 +0000 (07:47 -0400)]
- si_get_limit() must deal with size_t for heap-size too
- add comments for the size_t exceptions
Matthew Mondor [Sat, 5 Sep 2015 22:16:37 +0000 (18:16 -0400)]
Use %lu with (unsigned long) casting instead of relying on C99 %zd.
Cleanup the output text, which was confusing when using a custom
heap size limit.
Matthew Mondor [Sat, 5 Sep 2015 21:50:03 +0000 (17:50 -0400)]
Use size_t as well as (size_t)ecl_to_ulong() for the heap size
parameter, since cl_index with ecl_to_size() could not handle
expected values for heap-size on 32-bit systems.
Matthew Mondor [Sat, 5 Sep 2015 09:56:26 +0000 (05:56 -0400)]
More text cleanup
Matthew Mondor [Sat, 5 Sep 2015 09:48:03 +0000 (05:48 -0400)]
Add size_t casting where needed (on 32-bit 0 would be printed in
some cases otherwise).
Matthew Mondor [Sat, 5 Sep 2015 07:34:00 +0000 (03:34 -0400)]
Heap size related warnings now accumulate into a buffer which the
toplevel prints if it's available. The warning messages were also
cleaned-up.
Matthew Mondor [Fri, 4 Sep 2015 19:49:53 +0000 (15:49 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Fri, 4 Sep 2015 19:42:38 +0000 (19:42 +0000)]
Merge branch 'infinity-fix' into 'develop'
Infinity fix
Produce valid C code for all kinds of infinity
I have also pending NaN changes, but this requires more work.
See merge request !9
Daniel Kochmański [Fri, 4 Sep 2015 19:20:51 +0000 (21:20 +0200)]
changelog: update changelog
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 19:05:24 +0000 (21:05 +0200)]
infinity: add regression tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 18:58:31 +0000 (20:58 +0200)]
internal.h: fake ISO C99 INFINITY and NAN if not defined
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 10:59:59 +0000 (12:59 +0200)]
cmpc: when infinity is used, emit macro "INFINITY"
and "-INFINITY" for negative infinity. These corner-cases lead to
compilation error, so no regression will be imposed even against
non-c99 compilers.
INFINITY and NAN macros are introduced by C99 standard, so such code
requires C-backend to support this math extension. Fixes #156.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 19:31:16 +0000 (21:31 +0200)]
changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 19:29:08 +0000 (21:29 +0200)]
regression: add back removed interfaces
Adds back ecl_import_current_thread and ecl_release_current_thread.
Closes #8.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 06:59:58 +0000 (08:59 +0200)]
changelog: update changelog
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 4 Sep 2015 06:58:27 +0000 (08:58 +0200)]
format: float: use prin1 when passed NaN or infinity
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Matthew Mondor [Fri, 4 Sep 2015 04:52:07 +0000 (00:52 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Daniel Kochmański [Fri, 4 Sep 2015 04:45:50 +0000 (06:45 +0200)]
style: fix broken modeline
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Matthew Mondor [Thu, 3 Sep 2015 20:19:51 +0000 (16:19 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Thu, 3 Sep 2015 20:18:01 +0000 (16:18 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Matthew Mondor [Thu, 3 Sep 2015 20:16:12 +0000 (16:16 -0400)]
Fix some fallout from the script to correct/add Emacs and ViM syntax
directives. Some files had more than one existing Emacs directives,
breaking the script which didn't expect this.
Daniel Kochmański [Thu, 3 Sep 2015 19:47:47 +0000 (21:47 +0200)]
cosmetic: bdwgc: remove autom4te.cache
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Matthew Mondor [Thu, 3 Sep 2015 19:24:53 +0000 (15:24 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Daniel Kochmański [Thu, 3 Sep 2015 18:07:04 +0000 (18:07 +0000)]
Merge branch 'style' into 'develop'
"style" temporary branch
The ECL code no longer uses tabulator characters, they were replaced
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
See merge request !8
Matthew Mondor [Thu, 3 Sep 2015 11:35:47 +0000 (07:35 -0400)]
The ECL code no longer uses tabulator characters, they were replaced
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
Daniel Kochmański [Thu, 3 Sep 2015 06:47:00 +0000 (08:47 +0200)]
printer: coerce float infinity more roboustly
Basically use C function instead of a generic Lisp one.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Thu, 3 Sep 2015 06:12:08 +0000 (08:12 +0200)]
printer: float infinity/nan: coerce printed form to base-string
CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes #153. Related to #114.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Matthew Mondor [Wed, 2 Sep 2015 21:56:15 +0000 (17:56 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Daniel Kochmański [Wed, 2 Sep 2015 19:29:30 +0000 (21:29 +0200)]
tests: add stress tests submitted by James M. Lawrence
This suite needs integration and tweaking to avoid infinite loop.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 13:59:35 +0000 (15:59 +0200)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Daniel Kochmański [Wed, 2 Sep 2015 13:59:18 +0000 (15:59 +0200)]
gmp: issue autoreconf -ivf (fixes ppc64le builds)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Philipp Marek [Wed, 2 Sep 2015 10:22:45 +0000 (10:22 +0000)]
Merge branch 'cleanup-testing' into 'develop'
Cleanup testing
Separated tests from auxiliary tools, merged tests into files corresponding to interface (aspects are separated with ^L, navigable with C-x [ and C-x ]), renamed "bugs" to "regressions" - what these tests really are.
TODO (in indefinete future):
- some tests have auxiliary functions, these should be moved to auxiliary/ directory and loaded from there, so test files contain only tests
- add back ansi-tests suite as git subtree (to keep in sync with upstream on demand)
- add mop-features suite (subtree)
- modify deftest macro to "remember" file, from which test was load and report that back
- keep test suites / interfaces in separate packages
- make running tests possible without installing ECL (not tests thing though, rather buildsystem)
See merge request !7
Daniel Kochmański [Wed, 2 Sep 2015 09:09:49 +0000 (11:09 +0200)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Daniel Kochmański [Wed, 2 Sep 2015 09:09:04 +0000 (11:09 +0200)]
cosmetic: rename Copyright to LICENSE
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 08:51:51 +0000 (10:51 +0200)]
tests: rename 'bugs' to 'regressions'
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 08:40:09 +0000 (10:40 +0200)]
changelog: upate wrt testing
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 08:38:54 +0000 (10:38 +0200)]
Merge branch 'develop' into cleanup-testing
Daniel Kochmański [Wed, 2 Sep 2015 08:36:27 +0000 (10:36 +0200)]
tests: fix remaing things
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 07:33:16 +0000 (09:33 +0200)]
tests: adjust files
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 07:22:24 +0000 (09:22 +0200)]
tests: Move tests to separate directory
Don't keep them in same directory as aux tools
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Wed, 2 Sep 2015 06:56:06 +0000 (06:56 +0000)]
Merge branch 'develop' into 'develop'
cosmetic: Untabify everything.
If anything has been messed up (which it seems there hasn't), let me know.
See merge request !6
Zack Piper [Tue, 1 Sep 2015 20:10:10 +0000 (20:10 +0000)]
Untabify everything.
Daniel Kochmański [Tue, 1 Sep 2015 16:13:53 +0000 (18:13 +0200)]
tests: rename ffi and emb tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 16:11:55 +0000 (18:11 +0200)]
tests: merge reported bugs and mixed regressions
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 16:03:27 +0000 (18:03 +0200)]
tests: merge compiler tests to compiler.lsp (missing files)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 15:32:03 +0000 (17:32 +0200)]
tests: merge compiler tests to compiler.lsp
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 15:19:41 +0000 (17:19 +0200)]
tests: merge sourceforge reports to reported-bugs
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 15:08:14 +0000 (17:08 +0200)]
tests: merge multiprocessing tests (a few left)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 14:54:46 +0000 (16:54 +0200)]
tests: merge multiprocessing tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 14:42:11 +0000 (16:42 +0200)]
tests: merge metaobject protocol tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 14:35:55 +0000 (16:35 +0200)]
changelog: add #s fix
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 14:34:25 +0000 (16:34 +0200)]
tests: add regression test for #s reader
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 13:07:06 +0000 (15:07 +0200)]
sharp-s-reader: read should be invoked recursively
Patch provided by drmeister. Test case:
(defstruct foo a)
(read-from-string
"(#1=\"Hello\" #S(FOO :A #1#))"))
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Tue, 1 Sep 2015 12:57:23 +0000 (14:57 +0200)]
tests: merge external-format tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Mon, 31 Aug 2015 08:22:52 +0000 (08:22 +0000)]
update readme (typos)
Daniel Kochmański [Mon, 31 Aug 2015 06:58:15 +0000 (08:58 +0200)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Matthew Mondor [Mon, 31 Aug 2015 05:38:59 +0000 (01:38 -0400)]
It appears that the larget the heap, the larger heap_gap must be.
After some more testing, adapt to 50MB of additional heap gap per
1GB of heap size.
Matthew Mondor [Mon, 31 Aug 2015 05:14:19 +0000 (01:14 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Conflicts:
msvc/ecl/config.h.msvc6
src/c/big.d
src/c/main.d
Conflicts fixed.
Matthew Mondor [Mon, 31 Aug 2015 05:06:47 +0000 (05:06 +0000)]
Merge branch 'fixnum-bits' into 'develop'
FIXNUM_BITS -> ECL_FIXNUM_BITS consistently, second try
Somehow the develop branch still used a mix of both
See merge request !5
Matthew Mondor [Mon, 31 Aug 2015 02:59:43 +0000 (22:59 -0400)]
Avoid constant value 32-bit rollback for 64-bit/4GB heap
Matthew Mondor [Sun, 30 Aug 2015 20:35:14 +0000 (16:35 -0400)]
FIXNUM_BITS -> ECL_FIXNUM_BITS consistently, second try
Daniel Kochmański [Sun, 30 Aug 2015 09:54:00 +0000 (11:54 +0200)]
cosmetic: remove spaces on blank lines
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Matthew Mondor [Sun, 30 Aug 2015 08:22:45 +0000 (04:22 -0400)]
Merge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Sun, 30 Aug 2015 08:21:25 +0000 (04:21 -0400)]
FIXNUM_BITS -> ECL_FIXNUM_BITS
Matthew Mondor [Sun, 30 Aug 2015 08:20:16 +0000 (04:20 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Daniel Kochmański [Sun, 30 Aug 2015 08:16:31 +0000 (10:16 +0200)]
readme: a few stylistic cleanups
As suggested by Matthew Mondor capitalized "Lisp" and specified
additional information. Fixes #148.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sun, 30 Aug 2015 07:59:56 +0000 (07:59 +0000)]
Merge branch 'fixnum-bits' into 'heap-size'
FIXNUM_BITS -> ECL_FIXNUM_BITS
Assumes that ECL_FIXNUM_BITS was what was wanted (presumably prefixed
with ECL_ to make it a public C API). The code used a mix of
ECL_FIXNUM_BITS and FIXNUM_BITS, with only FIXNUM_BITS being defined,
meaning that there also previously were bugs in main.d and ffi.d.
Addresses issue #147.
See merge request !4
Matthew Mondor [Sun, 30 Aug 2015 06:44:05 +0000 (02:44 -0400)]
Assumes that ECL_FIXNUM_BITS was what was wanted (presumably prefixed
with ECL_ to make it a public C API). The code used a mix of
ECL_FIXNUM_BITS and FIXNUM_BITS, with only FIXNUM_BITS being defined,
meaning that there also previously were bugs in main.d and ffi.d.
Addresses issue #147.
Matthew Mondor [Sun, 30 Aug 2015 06:14:57 +0000 (02:14 -0400)]
- Use FIXNUM_BITS rather than ECL_FIXNUM_BITS which was undefined
(the old code was bogus too on that respect)
- To prevent 32-bit rounding append L to the default heap size definitions
- Also print the fixnum bit size and default heap in the debug log
Daniel Kochmański [Sat, 29 Aug 2015 18:37:25 +0000 (20:37 +0200)]
cosmetic: change label name from ERR to ERROR
First netbsd patch is partly applied (we have dragonfly platform), but
it drops solaris 10 support which we don't. Second is cosmetic and
applied right now. Fixes #144.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sat, 29 Aug 2015 18:28:00 +0000 (20:28 +0200)]
changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sat, 29 Aug 2015 18:25:31 +0000 (20:25 +0200)]
changelog: check for GC_get_thr_restart_signal only on threaded build
ECL checked for GC_get_thr_restart_signal even if was built without
threads. This function is present in boehm only when it's build with
threads, but we don't need this functionality for single-threaded
builds. Fixes #146.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sat, 29 Aug 2015 17:49:04 +0000 (19:49 +0200)]
changelog: found 13.5.1 changes - added
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Matthew Mondor [Fri, 28 Aug 2015 22:44:05 +0000 (18:44 -0400)]
- Replace tabs by spaces (the other codebases I work on all use tabs :)
- After looking at grusage() it seems that we cannot use this to adapt heap_gap
- heap_gap demonstrated to be necessary, at least for now, now set at 50MB
- Minor cleanups
To test:
- Reduce the heap size limit by reducing the soft RLIMIT_DATA of
your current shell. On sh, this can be done using ulimit -d
<kilobytes>. Either reduce it smaller than the ECL default heap
(1GB on 32-bit, 4GB on 64-bit), or specify a larger heap limit to
ECL starting it with the --heap-size <bytes> option (but note that
because of another bug it may be difficult to increase it very
high).
- Start ECL, notice the HEAP-WARNING: messages which should show
that the soft limit was increased to satisfy the heap.
- Run allocations until either ECL freezes or reports a heap error.
the test is successful, it should report, not freeze, obviously :)
Example test to run:
(defparameter *allocations* 16384)
(defparameter *alloc-size* 4096)
(defvar *queue* (make-array 1024
:adjustable t
:fill-pointer 0))
(defun test1 ()
(loop
repeat *allocations*
do
(vector-push-extend (make-array *alloc-size*
:element-type '(unsigned-byte 8)
:adjustable nil
:initial-element #x00
:fill-pointer *alloc-size*)
*queue*
0))) ; Grows automatically +1/2 size on ECL
Run (test1) as often as necessary (and observe heap grow in top(1) etc).
What remains to do before this branch can be merged:
- More testing, and confirmation that 50MB heap_gap is enough for others
- Removal of debug messages
- Perhaps issuing a single message about the size the heap was changed to
and why, but only when in ECL-REPL interactive mode startup
- If possible, determining the value for heap_gap at runtime,
instead of guessing it, but it seems tricky to do portably.
Matthew Mondor [Fri, 28 Aug 2015 20:00:32 +0000 (16:00 -0400)]
- Use %zd rather than %d for the w() verbose debug function
- Cleanup code, first start with hard limit, then soft limit
Daniel Kochmański [Fri, 28 Aug 2015 11:21:14 +0000 (13:21 +0200)]
changelog: add new MP functions
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 28 Aug 2015 11:17:07 +0000 (13:17 +0200)]
Merge branch 'master' into develop
Daniel Kochmański [Fri, 28 Aug 2015 10:52:18 +0000 (12:52 +0200)]
changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Fri, 28 Aug 2015 10:44:54 +0000 (12:44 +0200)]
Merge branch 'ECL-16.0.0-rc1'
Matthew Mondor [Fri, 28 Aug 2015 01:10:45 +0000 (21:10 -0400)]
Revert autoconf changes, as stacks.d already could use rlimit using
other conditionals; use similar ones in main.d.
Some bug fixes in main.d's fix_heap_size(), and verbose warnings
were currently added to help testing.
Matthew Mondor [Thu, 27 Aug 2015 18:57:23 +0000 (14:57 -0400)]
Also verify for HAVE_GETRLIMIT in fix_heap_size().
Matthew Mondor [Thu, 27 Aug 2015 18:28:06 +0000 (14:28 -0400)]
Merge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Thu, 27 Aug 2015 18:08:06 +0000 (14:08 -0400)]
ECL's default heap (1GB on 32-bit or 4GB on 64-bit) can sometimes
be higher than the OS's process rlimit is, especially the soft limit.
Consider this default heap, as well as any user-specified heap size
as a target, and adapt as necessary the heap size according to the
soft and hard rlimits if any.
We attempt to grow the soft limit if possible to reach the target,
but as necessary lower the heap size.
Otherwise, when ECL experiences allocation errors and attempts to
report these, needing even more allocations to do so, it can end
up locked in a busy loop. It's better to gracefully report that the
heap should be grown instead.
Matthew Mondor [Thu, 27 Aug 2015 18:08:06 +0000 (14:08 -0400)]
ECL's default heap (1GB on 32-bit or 4GB on 64-bit) can sometimes
be higher than the OS's process rlimit is, especially the soft limit.
Consider this default heap, as well as any user-specified heap size
as a target, and adapt as necessary the heap size according to the
soft and hard rlimits if any.
We attempt to grow the soft limit if possible to reach the target,
but as necessary lower the heap size.
Otherwise, when ECL experiences allocation errors and attempts to
report these, needing even more allocations to do so, it can end
up locked in a busy loop. It's better to gracefull report that the
heap should be growed instead.
Matthew Mondor [Thu, 27 Aug 2015 08:40:18 +0000 (04:40 -0400)]
Change *FEATURES* name :NEW to :WAKLER (clos/walk.lsp) after
discussion
Matthew Mondor [Thu, 27 Aug 2015 07:39:10 +0000 (07:39 +0000)]
Merge branch 'mmondor' into 'develop'
mmondor -> develop (with-rwlock …)
See merge request !2
Matthew Mondor [Wed, 26 Aug 2015 16:31:19 +0000 (12:31 -0400)]
Implement a few non-blocking MP functions:
MP:TRY-GET-SEMAPHORE
returns NIL if the semaphore could not be obtained, or the count
if it could be obtained
MP:MAILBOX-TRY-READ
returns a message if it's available, NIL if the queue is empty
MP:MAILBOX-TRY-SEND
returns the sent message if it could be queued, or NIL
(mailbox is full)
Matthew Mondor [Wed, 26 Aug 2015 13:51:34 +0000 (09:51 -0400)]
Implement MP:WITH-RWLOCK
Matthew Mondor [Wed, 26 Aug 2015 13:36:38 +0000 (09:36 -0400)]
- Dynamically bind the condition as well in the debugger, not only
the message (the condition object holds important data which can be
used programmatically).
- Raise some *PRINT-LENGTH* limits in the debugger. Having a limit
is wise, but when it is too short the debugger can be rather
useless. Use 16 instead of the previous 2 or 4.
Daniel Kochmański [Mon, 24 Aug 2015 06:41:27 +0000 (08:41 +0200)]
config.lsp: implement uname stub for ecl-min
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sun, 23 Aug 2015 10:58:04 +0000 (12:58 +0200)]
README: change name
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sun, 23 Aug 2015 10:56:57 +0000 (12:56 +0200)]
readme: fix top-level README (move to src/doc/debugging)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
Daniel Kochmański [Sun, 23 Aug 2015 10:32:11 +0000 (12:32 +0200)]
doc: Update internal doc wrt floats
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>