From: Daniel B. <da...@te...> - 2003-08-15 13:19:14
|
=2D----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Raymond Toy <to...@rt...> writes: > Clemens> GC notification is broken on Linux/x86 for 0.8.2 and on > Clemens> OS X for 0.8.2.25. > I don't know how sbcl does these GC messages, but I've had this in my > .cmucl-init for ages: [snipped] There's a C variable gencgc_verbose which you can set (to 1) using appropriate alien magic if you just want "we are GCing" messages. As to the more general question of arbitrary notifiers, hooks, etc: we don't have any. Um, yes, this is my fault. In SBCL, there's a single thread that does GC. When anyone else wants collection to happen, they signal this thread, it suspends all the others and cleans up. This thread does not do Lisp code: it doesn't have all the right stacks and things to achieve call_into_lisp. This means it can't run gc notifiers, hooks, finalisers, etc Unfortunately we can't in general run these hooks in the signalling thread either, as it's perfectly possible that two threads will want to GC at the same time, and we don't want both of them running the gc hooks.=20=20 So, for the moment, no hooks. The Right Thing would be to give the GC thread some stacks etc so that it can run Lisp code (then we can do scavenger hooks, too, which will make callbacks easier). Unfortunately I haven't had time to address this lately. =2D -dan =2D --=20 http://www.cliki.net/ - Link farm for free CL-on-Unix resources=20 =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE/PNmWHDK5ZnWQiRMRAll4AJ0daKo0q17ILl5zEl0gJuCNFnJvDgCcCGW/ qxN/JIA0h/PET3whZRDMyR8=3D =3DBjSE =2D----END PGP SIGNATURE----- |