Hello, the threading bugs I reported a while ago appear to have not
survived the migration from sourceforge, and the old pages are now
404'd. There were a number of test cases, including

(defun test (message-count worker-count)
  (let ((to-workers (mp:make-semaphore))
        (from-workers (mp:make-semaphore)))
    (loop repeat worker-count
          do (mp:process-run-function
              "test"
              (lambda ()
                (loop
                   (mp:wait-on-semaphore to-workers)
                   (mp:signal-semaphore from-workers)))))
    (loop
       (loop repeat message-count
             do (mp:signal-semaphore to-workers))
       (loop repeat message-count
             do (mp:wait-on-semaphore from-workers))
       (assert (zerop (mp:semaphore-count to-workers)))
       (assert (zerop (mp:semaphore-count from-workers)))
       (format t ".")
       (finish-output))))

(defun run ()
  (test 10000 64))

RUN will eventually hang on all versions of ECL I've tried, including
the latest. Another test case was a variant of the above using a
homemade semaphore. I can rewrite that and other test cases, but
before doing so I'd like to know whether the old reports are really
lost or have survived in some form.

Best,
lmj

------------------------------------------------------------------------------
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list

Reply via email to