view debian/config @ 30795:1001c606f94c

Make emulated Win32 critical sections thread safe. Earlier, cs->locked was accessed outside the mutex to get around the problem that default pthread mutexes are not recursive (ie., you cannot do a double-lock from the same thread), causing a thread-safety problem, as both detected by Helgrind and showing up in some multithreaded codecs. The ideal solution here would be to simply use recursive pthread mutexes, but there were concerns about reduced debuggability and possibly portability. Thus, instead, rewrite the critical sections to be a simple lock count (with owner) protected by a regular mutex. Whenever a thread wants to enter the critical section and lock_count is not 0, it sleeps on a special event that tells it when the critical section is available.
author sesse
date Thu, 04 Mar 2010 15:57:08 +0000
parents a5bef61f49bf
children
line wrap: on
line source

#!/bin/sh

CONFIGFILE=/etc/mplayer/mplayer.conf

set -e

# Source debconf library.
. /usr/share/debconf/confmodule

if test -r $CONFIGFILE && ! grep -q '### mplayer DEBCONF AREA' $CONFIGFILE
then
    db_input medium 'mplayer/replace-existing-files'  || true
    db_go || true
    if [ "$RET" != "true" ]; then
        exit 0
    fi
    db_get  'mplayer/replace-existing-files' || true
fi

########################################## find fonts
#default font (if available)
BESTFONT=/usr/share/fonts/truetype/Arial.ttf
[ -r $BESTFONT ] || BESTFONT=/usr/share/fonts/truetype/freefont/FreeSans.ttf

t=$(tempfile -p fonts )
find /usr/share/fonts/ /?/?in*/?ont* -type f -iname '*.ttf' -maxdepth 3 2> /dev/null  > $t  || true

if test -s $t
then
    fonts=$( awk '{print a $0;a=", "}' $t || true )
    db_subst "mplayer/ttfont" ttfontchoices $fonts  || true
 ## suppose the question is skipped: give a default
    a=$BESTFONT
    [ -r $BESTFONT ] || a=$(head -1 $t)
    db_subst "mplayer/ttfont" ttfontdefault $a  || true

    db_input medium  mplayer/ttfont  || true
    if [ "$?" = 30 ] ; then
        db_set  mplayer/ttfont $a  || true
    fi
else
    db_input medium "mplayer/no-ttfont" || true
fi

rm $t

db_go || true

############################################################


exit 0