[Ecls-list] Query about changes

Matthew Mondor mm_lists at pulsar-zone.net
Wed Sep 9 07:43:41 UTC 2009


On Sun, 6 Sep 2009 08:46:18 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> wrote:

> Matthew, can you provide me a minimal test? Right now I have a code
> that interrupts a loop waiting to get a lock and it works 100% time.

Sorry for the delay, but after a few tests I was unable to come up with
a test which reproduces it 100% of the time.  I couldn't reproduce it
with the following:

(defun test ()
  (let ((lock (mp:make-lock)))
    (flet ((thread ()
             (mp:with-lock (lock)
               (loop
                  do
                    (sleep 1)))))
      (let* ((process1 (mp:process-run-function '1 #'thread))
             (process2 (mp:process-run-function '2 #'thread)))
        (sleep .5)
        (mp:process-kill process1)
        (mp:process-kill process2))))
  nil)

Yet with the small test server code at:
http://cvs.pulsar-zone.net/cgi-bin/cvsweb.cgi/~checkout~/mmondor/mmsoftware/cl/test/ecl-server2.lisp?rev=1.8;content-type=text%2Fplain

I observe two intermittent problems (comments at the top of the file
explain how to reproduce them).

Thanks,
-- 
Matt




More information about the ecl-devel mailing list