debian/canfestival-virtual.postinst
author Robert Lehmann <robert.lehmann@sitec-systems.de>
Tue, 28 Jul 2015 16:36:55 +0200
changeset 793 72e9e1064432
parent 579 3126da40d469
permissions -rwxr-xr-x
timers_unix: Fix termination problem of WaitReceiveTaskEnd

The function pthread_kill sends the Signal thread and to the own process.
If you use this construct than the application which calls uses the
canfestival api will terminate at the call of canClose. To avoid that
use pthread_cancel instead of pthread_kill. To use the pthread_cancel call
you need to set the cancel ability in the thread function. That means
you need to call pthread_setcancelstate and pthread_setcanceltype.
For the termination of the thread at any time it is important to set the
cancel type to PTHREAD_CANCEL_ASYNCHRONOUS.
531
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     1
#!/bin/sh
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     2
# postinst script for canfestival
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     3
#
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     4
# see: dh_installdeb(1)
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     5
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     6
set -e
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     7
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     8
DLL_LIST=
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
     9
CF_CONFIG=/usr/share/CanFestival-3/objdictgen/canfestival_config.py
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    10
CF_CONFIG_TEMP=/usr/share/CanFestival-3/objdictgen/canfestival_config_ori.py
579
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    11
531
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    12
case "$1" in
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    13
    configure)
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    14
    ldconfig
579
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    15
    
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    16
	# Find canfestival driver library in /usr/lib
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    17
	cd /usr/lib
531
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    18
	for file in libcanfestival_can*
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    19
	do
533
4d50417dab22 updated : debian package scripts
greg
parents: 531
diff changeset
    20
		DLL_LIST="'$file',""$DLL_LIST"
531
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    21
	done
579
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    22
	
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    23
	# copy template config and add the DLL_LIST 
3126da40d469 Fixed : postrm bug when upgrade package
greg
parents: 533
diff changeset
    24
	# do this to display available canfestival plugin list choice in beremiz
531
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    25
	cat $CF_CONFIG_TEMP > $CF_CONFIG
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    26
	echo "DLL_LIST=[$DLL_LIST]" >> $CF_CONFIG
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    27
	;;
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    28
	
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    29
    abort-upgrade|abort-remove|abort-deconfigure)
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    30
    ;;
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    31
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    32
    *)
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    33
        echo "postinst called with unknown argument \`$1'" >&2
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    34
        exit 1
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    35
    ;;
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    36
esac
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    37
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    38
# dh_installdeb will replace this with shell code automatically
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    39
# generated by other debhelper scripts.
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    40
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    41
#DEBHELPER#
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    42
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    43
exit 0
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    44
f912f8d26e98 updated : debian package scripts
greg
parents:
diff changeset
    45