CLIM mail archive

[Prev][Next][Index][Thread]

Updating the screen from a separate process



    Date: Fri, 28 Aug 1992 10:17 EDT
    From: abbott@aero.org


    I have a multi-process clim application.  The main process uses clim to
    interact with the user.  A second process accepts data from an external
    source and updates the internal data structures that the first process
    uses to paint the screen.

    Whenever the second process gets new data, I would like it to call the
    display-function that the first process uses.  Unfortunately, such a
    call is apparently incompatible with the normal call to the
    display-function from the first process; the screen gets completely
    messed up.  

Are you calling the pane's display function directly, or calling
CLIM:REDISPLAY-FRAME-PANE?  Are you using incremental redisplay?  Do
the two processes compete for a lock that prevents CLIM's internal
datastructures from getting messed up?

You can use CLIM-UTILS::INITIAL-LOCK-VALUE to create a lock, and
CLIM-UTILS::WITH-LOCKF to hold it.  In CLIM 2.0, these will be exported
(under different names) from the CLIM-SYS package.

    An alternative would be for the second process to have some way of
    triggering a display cycle in the first process.  I don't know how to do
    that.  Does anyone?  Thanks.

    -- Russ Abbott


Follow-Ups: References:

Main Index | Thread Index