From: Vladimir T. <vtz...@gm...> - 2017-05-05 21:42:39
|
Hey Compro, Let’s outline the next steps. Here is a list off the top of my head - any suggestions and comments are welcomed. * build MT (POSIX_THREADS) and ensure 'check-tests' passes. 'check-tests-parallel' won't unless you have a lucky day - removing the luck factor is the final goal. * get familiar with implementation internals. http://clisp.org/impnotes/internals.html is invaluable resource. Also this thread is a good place to ask questions. Pay particular attention on GC safety issues: http://clisp.org/impnotes/gc.html * get familiar with current hash tables implementation. * write tests causing segfaults or infinite loops involving hash tables and study the reasons (e.g. one such ‘test’ is: (defvar *ht* (make-hash-table :test #'eql)) (defun ht-thread () (loop (setf (gethash (random 100) *ht*) (random 100)) (remhash (random 100) *ht*))) (loop repeat 10 do (make-thread #'ht-thread)) this will segfault shortly after threads go alive). It will be easier to plan how to attack the problems, once you have understanding what’s going on BR Vlad On Thu, May 4, 2017 at 10:13 PM, Compro Prasad <com...@gm...> wrote: > Tomorrow is a busy schedule for me. The day after tomorrow I may be > confirming about my return. Most probably it will be not after 10 May. So, I > am fixing my return deadline on 10 May 2017. > > Thank you again for my proposal approval. |