CLIM mail archive


No Subject

   Date: Sat, 12 Mar 94 14:04:04 CST

      Date: Fri, 11 Mar 1994 21:46-0600
      From: David Gadbois <>

      If you need to be able to talk to another frame while it is not waiting
      for input or tracking the mouse, you'll need to interrupt the process.
      Most CL's with multiple threads have some way of doing that.  Here are
      some common ones:

      (defun interrupt-process (process function &rest args)
	#+Genera  (apply #'process:process-interrupt process function args)
	#+Lucid   (apply #'lcl:interrupt-process process function args)
	#+Allegro (apply #'mp:process-interrupt process function args)
	#-(or Genera Lucid Allegro)
	(error "Don't know how to do ~S." 'interrupt-process)


   #+lispworks (apply #'mp:process-interrupt process function args)

   But let's not forget that CLIM already provides a portable interface
   to all these:

   (clim-sys:process-interrupt process #'(lambda () (apply function args)))

The stuff in the CLIM-SYS package is some of what I would propose that
various Lisp vendor standardize on for some useful stuff.  I have
wondered more than once if the files that implement CLIM-SYS should
simply be thrown into the public domain...


Main Index | Thread Index