I just committed code to cvs (HEAD branch) that makes use of the MIT-SHM 
extension to use shared memory to render pixmaps.  This speeds up 
rendering, and is a good thing in general.

However, one issue remains.  If blackbox (or anything using libbt) crashes 
and doesn't cleanup correctly, the shared memory isn't properly cleaned up 
and the memory will still be allocated (but never used).

If you do have a crash of blackbox from cvs (HEAD branch), then you will 
need to tell the OS to destroy the unused shared memory.  I don't know how 
this is done on all operating systems, but for FreeBSD run 'ipcs -bm' and 
look for a chunk of shared memory with the SEGSZ '480000'.  You'll then 
need to run 'ipcrm -m ID' where ID is from the ID column in the ipcs 
output.  For example:

        [bhughes@reticent] ~% ipcs -bm
        Shared Memory:
        T     ID     KEY        MODE       OWNER    GROUP  SEGSZ
        m 327681          0 --rw-r--r--     root    wheel 106496
        m 32964613        0 --rw-r--r--  bhughes  bhughes 480000
        m 54788102        0 --rw-r--r--     root    wheel 110592
        m 1179655         0 --rw-r--r--     root    wheel 110592
        m 1310728         0 --rw-r--r--     root    wheel 110592
        m 4784137         0 --rw-r--r--     root    wheel 110592
        m 131082          0 --rw-r--r--     root    wheel 110592

        [bhughes@reticent] ~% ipcrm -m 32964613
        [bhughes@reticent] ~% 

Consult docs for your OS to see how to do this.

I am working on a solution for correctly destroying the shared memory in a 
crash situation, and hope to have that soon, so you won't have to do this 
for too long, only if you use blackbox from cvs from today.

Thanks :)

-- 
Bradley T. Hughes - bhughes at trolltech.com
Trolltech AS - Waldemar Thranes gt. 98 N-0175 Oslo, Norway


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
List archives:  http://asgardsrealm.net/lurker/splash/index.html
Trouble? Contact [EMAIL PROTECTED]

Reply via email to