Changeset 483 for branches


Ignore:
Timestamp:
11/11/2009 14:19:10 (3 years ago)
Author:
ccowart
Message:

Merging new locking idiom from trunk.

Resolves #87

Location:
branches/confman-1.9
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/confman-1.9

    • Property svn:mergeinfo changed
      /trunkmerged: 465
  • branches/confman-1.9/confaudit.in

    r468 r483  
    6161fi 
    6262 
    63 conf_lock_system 
     63system_lock=$(conf_lock_system) 
    6464 
    6565conf_require_recipe 
     
    130130echo "Audit operation finished successfully" | conf_logger 
    131131 
    132 conf_unlock_system 
     132conf_unlock_system $system_lock 
    133133 
    134134rm -rf $tmproot 
  • branches/confman-1.9/confman.in

    r482 r483  
    5757function setup { 
    5858    local response 
     59    local wcopy_lock 
    5960 
    6061    if conf_wcopy_is_locked; then 
     
    7879        else 
    7980            mkdir -p ${WORK_PATH}  
    80             conf_lock_wcopy 
     81            wcopy_lock=$(conf_lock_wcopy) 
    8182            conf_checkout_tree 
    82             conf_unlock_wcopy 
     83            conf_unlock_wcopy $wcopy_lock 
    8384        fi 
    8485    fi 
     
    8687 
    8788function create { 
     89    local wcopy_lock 
    8890    if [ -z "$*" ] ; then 
    8991        print_usage 1 
    9092    else 
    91         conf_lock_wcopy 
     93        wcopy_lock=$(conf_lock_wcopy) 
    9294        conf_create_modules "$@" || exit 1 
    93         conf_unlock_wcopy 
     95        conf_unlock_wcopy $wcopy_lock 
    9496    fi 
    9597} 
    9698 
    9799function update { 
    98     conf_lock_wcopy 
     100    local wcopy_lock 
     101    wcopy_lock=$(conf_lock_wcopy) 
    99102    conf_update_tree "$@" || exit 1 
    100     conf_unlock_wcopy 
     103    conf_unlock_wcopy $wcopy_lock 
    101104} 
    102105 
    103106function revert { 
     107    local wcopy_lock 
    104108    if [ -z "$*" ] ; then 
    105109        print_usage 1 
    106110    else 
    107         conf_lock_wcopy 
     111        wcopy_lock=$(conf_lock_wcopy) 
    108112        conf_revert "$@" 
    109         conf_unlock_wcopy 
     113        conf_unlock_wcopy $wcopy_lock 
    110114    fi 
    111115} 
     
    188192    local nocommit=true 
    189193    local opt OPTIND OPTARG 
     194    local wcopy_lock system_lock 
    190195 
    191196    while getopts ":m:F:" opt ; do 
     
    203208 
    204209    conf_require_recipe  
    205     conf_lock_system 
    206     conf_lock_wcopy 
     210    system_lock=$(conf_lock_system) 
     211    wcopy_lock=$(conf_lock_wcopy) 
    207212     
    208213    for module in $(conf_get_recipe) ; do 
     
    235240    echo "Commit operation finished successfully" >&2 
    236241    rm -f $msg 
    237     conf_unlock_wcopy 
    238     conf_unlock_system 
     242    conf_unlock_wcopy $wcopy_lock 
     243    conf_unlock_system $system_lock 
    239244} 
    240245 
     
    242247function inst { 
    243248    local file livefile 
    244     local msg status files file 
     249    local msg status files file sing 
    245250    local nocommit=true 
     251    local system_lock wcopy_lock 
    246252    local opt OPTIND OPTARG 
    247253 
     
    250256            m)  LOG_MESSAGE="$OPTARG"; LOG_MESSAGE_SET="true" ;; 
    251257            F)  LOG_FILE="$OPTARG" ;; 
     258            N)  innercall=true ;; 
    252259            *)  echo "Invalid option '-${OPTARG}'." >&4 
    253260                print_usage 1 
     
    257264    shift $(($OPTIND - 1)) 
    258265 
     266    system_lock=$(conf_lock_system) 
     267    wcopy_lock=$(conf_lock_wcopy) 
    259268    conf_require_recipe  
    260     conf_lock_wcopy 
    261     conf_lock_system 
    262269     
    263270    for file in "$@"; do 
     
    265272    done 
    266273     
    267      
    268274    $SUDO ${SUDO:+-v} 
    269     conf_update_tree || conf_cleanExit 
    270      
    271     if status=$(get_status $files) ; then 
    272         nocommit=false 
    273         msg=$(get_log "$status") || conf_cleanExit 
    274         rm -f "$status" 
    275     fi 
    276      
    277     echo "Installation operation started." >&2 
    278     $nocommit || conf_commit_file "$msg" "$files" || return $? 
    279     for layer in $(conf_get_recipe) ; do 
    280         conf_install $layer "$@" 
    281     done 
    282     for file in $SINGULARITIES ; do 
    283         conf_assemble_sing $file || conf_cleanExit 
     275 
     276    # This stuff we only do in the top-level call, not on recursive calls... 
     277    if ! conf_lock_is_recursive $wcopy_lock ; then 
     278        conf_update_tree || conf_cleanExit 
     279        if status=$(get_status $files) ; then 
     280            nocommit=false 
     281            msg=$(get_log "$status") || conf_cleanExit 
     282            rm -f "$status" 
     283        fi 
     284        echo "Installation operation started." >&2 
     285        $nocommit || conf_commit_file "$msg" "$files" || return $? 
     286    fi 
     287     
     288    for file in "$@" ; do 
     289        for layer in $(conf_get_recipe) ; do 
     290            conf_install $layer "$@" 
     291        done 
     292        for sing in $SINGULARITIES ; do 
     293            if [ "$sing" = "$file" ] ; then 
     294                conf_assemble_sing $file || conf_cleanExit 
     295            fi 
     296        done 
    284297    done 
    285298    conf_recordAction install 
     
    289302    fi 
    290303    echo "Installation operation succeeded." >&2 
    291     conf_unlock_wcopy 
    292     conf_unlock_system 
     304    conf_unlock_wcopy $wcopy_lock 
     305    conf_unlock_system $system_lock 
    293306} 
    294307         
    295308 
    296309function import { 
    297     local recursive_lock 
    298  
    299     # A placeholder to track the first recursive call for the final unlock 
    300     if conf_wcopy_is_locked ; then 
    301         recursive_lock=1 
    302         conf_debug import called with lock already held 
    303     else 
    304         recursive_lock=0 
    305         conf_debug import called without lock 
    306     fi 
     310    local wcopy_lock 
    307311 
    308312    local item OPTIND flags 
     
    330334    shift 
    331335 
     336    wcopy_lock=$(conf_lock_wcopy) 
     337 
    332338    if [ -z "$module" ] || [ -z "$1" ] ; then 
    333         if [ "$recursive_lock" -eq "0" ]; then 
     339        if ! conf_lock_is_recursive $wcopy_lock ; then 
    334340            print_usage 1 
    335341            return 1 
     
    342348        return 1 
    343349    fi 
    344  
    345     conf_lock_wcopy 
    346350 
    347351    $SUDO ${SUDO:+-v} 
     
    364368            "Skipping." >&4 
    365369        import $flags $module "$@" 
    366         conf_unlock_wcopy $recursive_lock 
     370        conf_unlock_wcopy $wcopy_lock 
    367371        return 
    368372    fi 
     
    375379                echo "Did you mean -f ?" >&4 
    376380                import $flags $module "$@" 
    377                 conf_unlock_wcopy $recursive_lock 
     381                conf_unlock_wcopy $wcopy_lock 
    378382                return 
    379383            fi 
     
    442446 
    443447        import $flags $module "$@"  
    444         conf_unlock_wcopy $recursive_lock 
     448        conf_unlock_wcopy $wcopy_lock 
    445449        return 
    446450    else 
     
    490494    fi 
    491495 
    492     conf_unlock_wcopy $recursive_lock 
     496    conf_unlock_wcopy $wcopy_lock 
    493497} 
    494498 
    495499function remove { 
     500    local wcopy_lock 
    496501    if [ -z $1 ]; then 
    497502        print_usage 1  
    498503    fi 
    499504 
    500     conf_lock_wcopy 
     505    wcopy_lock=$(conf_lock_wcopy) 
    501506    conf_rm_file "$@" 
    502     conf_unlock_wcopy 
     507    conf_unlock_wcopy $wcopy_lock 
    503508} 
    504509 
     
    511516    local comment="dir" 
    512517    local workdir=`$ABSPATH .` 
    513      
    514     local recursive_lock 
    515  
    516     # A placeholder to track the first recursive call for the final unlock 
    517     if conf_wcopy_is_locked ; then 
    518         recursive_lock=1 
    519     else 
    520         recursive_lock=0 
    521     fi 
     518    local wcopy_lock 
    522519 
    523520    if [ -z "$dir" ] ; then 
     
    525522    fi 
    526523     
    527     conf_lock_wcopy 
     524    wcopy_lock=$(conf_lock_wcopy) 
    528525    # Find the "real" directory's path if not already specified 
    529526    if [[ ! $dir =~ ^/ ]] ; then 
     
    572569    done 
    573570 
    574     if [ "$recursive_lock" -eq 0 ]; then 
    575         conf_unlock_wcopy 
    576     fi 
     571    conf_unlock_wcopy $wcopy_lock 
    577572} 
    578573 
     
    602597 
    603598function chowner { 
    604     local recursive_lock owner file 
    605  
    606     # A placeholder to track the first recursive call for the final unlock 
    607     if conf_wcopy_is_locked ; then 
    608         recursive_lock=1 
    609     else 
    610         recursive_lock=0 
    611     fi 
     599    local owner file wcopy_lock 
    612600 
    613601    local recursive item OPTIND 
     
    627615    file=$2 
    628616 
    629     conf_lock_wcopy 
     617    wcopy_lock=$(conf_lock_wcopy) 
    630618    conf_set_prop $file owner $owner 
    631619 
     
    636624    fi 
    637625 
    638     if [ "$recursive_lock" -eq 0 ]; then 
    639         conf_unlock_wcopy 
    640     fi 
     626    conf_unlock_wcopy $wcopy_lock 
    641627} 
    642628 
    643629function chgroup { 
    644     local recursive_lock group file 
    645  
    646     # A placeholder to track the first recursive call for the final unlock 
    647     if conf_wcopy_is_locked ; then 
    648         recursive_lock=1 
    649     else 
    650         recursive_lock=0 
    651     fi 
     630    local group file wcopy_lock 
    652631 
    653632    local recursive item OPTIND 
     
    667646    file=$2 
    668647 
    669     conf_lock_wcopy 
     648    wcopy_lock=$(conf_lock_wcopy) 
    670649    conf_set_prop $file group $group 
    671650 
     
    676655    fi 
    677656 
    678     if [ "$recursive_lock" -eq 0 ]; then 
    679         conf_unlock_wcopy 
    680     fi 
     657    conf_unlock_wcopy $wcopy_lock 
    681658} 
    682659 
    683660function chmode { 
    684     local recursive item OPTIND mode file 
    685  
    686     # A placeholder to track the first recursive call for the final unlock 
    687     if conf_wcopy_is_locked ; then 
    688         recursive_lock=1 
    689     else 
    690         recursive_lock=0 
    691     fi 
     661    local recursive item OPTIND mode file wcopy_lock 
    692662 
    693663    while getopts "R" opt ; do 
     
    706676    file=$2 
    707677 
    708     conf_lock_wcopy 
     678    wcopy_lock=$(conf_lock_wcopy) 
    709679    conf_set_prop $file mode $mode 
    710680    if [ ! -z $recursive ] && [ -d $file ] ; then 
     
    714684    fi 
    715685 
    716     if [ "$recursive_lock" -eq 0 ]; then 
    717         conf_unlock_wcopy 
    718     fi 
     686    conf_unlock_wcopy $wcopy_lock 
    719687} 
    720688 
    721689function chcom { 
    722     conf_lock_wcopy 
     690    local wcopy_lock 
    723691    local comment="$1" 
    724692    local file=$2 
     693    wcopy_lock=$(conf_lock_wcopy) 
    725694    conf_set_prop $file comment "$comment" 
    726     conf_unlock_wcopy 
     695    conf_unlock_wcopy $wcopy_lock 
    727696} 
    728697 
     
    730699    local symlink="$1" 
    731700    local file="$2" 
     701    local wcopy_lock 
    732702 
    733703    if [ $# -lt 2 ] ; then 
     
    735705    fi 
    736706 
    737     conf_lock_wcopy 
     707    wcopy_lock=$(conf_lock_wcopy) 
    738708    conf_set_prop "$file" symlink "$symlink" 
    739     conf_unlock_wcopy 
     709    conf_unlock_wcopy $wcopy_lock 
    740710} 
    741711 
     
    755725    local module=$1 
    756726    local checkpoint=$2 
     727    local wcopy_lock 
    757728    if [ -z $2 ] ; then 
    758729        print_usage 1 
    759730    else       
    760         conf_lock_wcopy 
     731        wcopy_lock=$(conf_lock_wcopy) 
    761732        conf_new_checkpoint $module $checkpoint 
    762         conf_unlock_wcopy 
     733        conf_unlock_wcopy $wcopy_lock 
    763734    fi 
    764735} 
     
    767738    local module=$1 
    768739    local checkpoint=$2 
     740    local wcopy_lock 
    769741    if [ -z $2 ] ; then 
    770742        print_usage 1 
    771743    else 
    772         conf_lock_wcopy 
     744        wcopy_lock=$(conf_lock_wcopy) 
    773745        conf_rm_checkpoint $module $checkpoint 
    774         conf_unlock_wcopy 
     746        conf_unlock_wcopy $wcopy_lock 
    775747    fi 
    776748} 
     
    780752    local checkpoint=$2 
    781753    local clock=$3 
     754    local wcopy_lock system_lock 
    782755 
    783756    if [ -z "$2" ] ; then 
     
    785758    else 
    786759        conf_require_recipe  
    787         conf_lock_wcopy 
    788         conf_lock_system 
     760        wcopy_lock=$(conf_lock_wcopy) 
     761        system_lock=$(conf_lock_system) 
    789762        echo "Rolling $module back to $checkpoint $clock" >&2 
    790763        conf_rollback $module $checkpoint $clock || conf_cleanExit 
     
    798771        done 
    799772        echo "Rollback succeeded." >&2 
    800         conf_unlock_wcopy 
    801         conf_unlock_system 
     773        conf_unlock_wcopy $wcopy_lock 
     774        conf_unlock_system $system_lock 
    802775    fi 
    803776} 
    804777 
    805778function rmmod { 
     779    local wcopy_lock 
    806780    if [ -z "$*" ] ; then 
    807781        print_usage 1 
    808782    else 
    809         conf_lock_wcopy 
     783        wcopy_lock=$(conf_lock_wcopy) 
    810784        conf_remove_modules "$@" || exit 1 
    811         conf_unlock_wcopy 
     785        conf_unlock_wcopy $wcopy_lock 
    812786    fi 
    813787} 
     
    816790    local oldmod=$1 
    817791    local newmod=$2 
     792    local wcopy_lock 
    818793    if [ -z $newmod ] ; then 
    819794        print_usage 1 
     
    827802        conf_cleanExit 
    828803    fi 
    829     conf_lock_wcopy 
     804    wcopy_lock=$(conf_lock_wcopy) 
    830805    conf_rename $oldmod $newmod 
    831     conf_unlock_wcopy 
     806    conf_unlock_wcopy $wcopy_lock 
    832807} 
    833808 
     
    843818    local src=$1 
    844819    local dest=$2 
     820    local wcopy_lock 
    845821    if [ -z $2 ]; then  
    846822        print_usage 1    
    847823    fi 
    848     conf_lock_wcopy 
     824    wcopy_lock=$(conf_lock_wcopy) 
    849825    conf_cp $src $dest 
    850     conf_unlock_wcopy 
     826    conf_unlock_wcopy $wcopy_lock 
    851827} 
    852828 
     
    854830    local src=$1 
    855831    local dest=$2 
     832    local wcopy_lock 
    856833    if [ -z $2 ]  
    857834    then 
    858835        print_usage 1  
    859836    fi 
    860     conf_lock_wcopy 
     837    wcopy_lock=$(conf_lock_wcopy) 
    861838    conf_mv $src $dest 
    862     conf_unlock_wcopy 
     839    conf_unlock_wcopy $wcopy_lock 
    863840} 
    864841 
     
    879856    local target=$1 
    880857    local link=$2 
    881     conf_lock_wcopy 
     858    local wcopy_lock 
     859    wcopy_lock=$(conf_lock_wcopy) 
    882860    conf_ln $target $link $forced 
    883     conf_unlock_wcopy 
     861    conf_unlock_wcopy $(wcopy_lock) 
    884862} 
    885863 
     
    898876    shift 
    899877    if [ -z "$1" ] ; then print_usage 1 ; fi 
    900  
    901     conf_lock_wcopy 
     878    local wcopy_lock 
     879 
     880    wcopy_lock=$(conf_lock_wcopy) 
    902881    conf_chattr "$attr" "$value" "$@" 
    903     conf_unlock_wcopy 
     882    conf_unlock_wcopy $(wcopy_lock) 
    904883} 
    905884 
     
    907886    local attr="$1" 
    908887    shift 
     888    local wcopy_lock 
    909889    if [ -z "$1" ] ; then print_usage 1 ; fi 
    910890 
    911     conf_lock_wcopy 
     891    wcopy_lock=$(conf_lock_wcopy) 
    912892    conf_rmattr "$attr" "$@" 
    913     conf_unlock_wcopy 
     893    conf_unlock_wcopy $wcopy_lock 
    914894} 
    915895 
     
    923903 
    924904function audit { 
     905    local wcopy_lock system_lock 
    925906    if [ -z "$*" ] ; then 
    926907        conf_require_recipe  
    927         conf_lock_system 
    928         conf_lock_wcopy 
     908        system_lock=$(conf_lock_system) 
     909        wcopy_lock=$(conf_lock_wcopy) 
    929910        local tmproot=$(conf_tmp_dir) 
    930911        local live_root="${LIVE_ROOT}" 
     
    945926        $SUDO diff -ru ${live_root}/ $tmproot | grep -v "^Only in" 
    946927        echo "Audit operation finished successfully" >&2 
    947         conf_unlock_wcopy 
    948         conf_unlock_system 
     928        conf_unlock_wcopy $wcopy_lock 
     929        conf_unlock_system $system_lock 
    949930        $SUDO rm -rf $tmproot 
    950931    else 
     
    954935 
    955936function recipe_edit { 
    956     local recipe 
     937    local recipe wcopy_lock 
    957938    local new_recipe_file recipe_file 
    958939    local repeat msg status 
     
    972953    if [ -z "$1" ] ; then print_usage 1 ; fi 
    973954 
    974     conf_lock_wcopy 
     955    wcopy_lock=$(conf_lock_wcopy) 
    975956    recipe="$1" 
    976957    recipe_file=$(conf_recipe_dir)/${recipe} 
     
    995976    fi 
    996977    rm -f "$new_recipe_file" 
    997     conf_unlock_wcopy 
     978    conf_unlock_wcopy $wcopy_lock 
    998979} 
    999980 
    1000981function recipe_create { 
    1001     local recipe recipe_file opt OPTIND msg status 
     982    local recipe recipe_file opt OPTIND msg status wcopy_lock 
    1002983    while getopts ":m:F:R:" opt ; do 
    1003984        case $opt in 
     
    1018999    fi 
    10191000 
    1020     conf_lock_wcopy 
     1001    wcopy_lock=$(conf_lock_wcopy) 
    10211002    recipe_file=$(conf_recipe_dir)/${recipe} 
    10221003    conf_recipe_create "$recipe" || return 1 
     
    10251006        if ! recipe_edit "$recipe" ; then 
    10261007            conf_rm_file --force "${new_recipe_file}" 
    1027             conf_unlock_wcopy 
     1008            conf_unlock_wcopy $wcopy_lock 
    10281009            return 1 
    10291010        fi 
    1030         conf_unlock_wcopy 
     1011        conf_unlock_wcopy $wcopy_lock 
    10311012        return 0 
    10321013    fi 
     
    10381019            conf_commit_recipe "$msg" "$recipe"  
    10391020        fi 
    1040         conf_unlock_wcopy 
     1021        conf_unlock_wcopy $wcopy_lock 
    10411022        return 0 
    10421023    else 
    10431024        conf_rm_file --force "${recipe_file}" 
    1044         conf_unlock_wcopy 
     1025        conf_unlock_wcopy $wcopy_lock 
    10451026        return 1 
    10461027    fi 
     
    10491030function recipe_remove { 
    10501031    local opt OPTIND OPTARG 
    1051     local msg status recipes recipe 
     1032    local msg status recipes recipe wcopy_lock 
    10521033    local nocommit=true 
    10531034    while getopts ":m:F:" opt ; do 
     
    10621043    shift $(($OPTIND - 1)) 
    10631044 
    1064     conf_lock_wcopy 
     1045    wcopy_lock=$(conf_lock_wcopy) 
    10651046 
    10661047    conf_remove_recipes "$@" || exit 1 
     
    10781059    $nocommit || conf_commit_recipes "$msg" "$@" 
    10791060 
    1080     conf_unlock_wcopy 
     1061    conf_unlock_wcopy $wcopy_lock 
    10811062} 
    10821063 
     
    10891070 
    10901071function recipe_set { 
     1072    local wcopy_lock system_lock 
    10911073    if [ -z "$1" ] ; then print_usage 1 ; fi 
    10921074    local recipe="$1" 
     
    10951077        exit 1 
    10961078    fi 
    1097     conf_lock_wcopy 
    1098     conf_lock_system 
     1079    wcopy_lock=$(conf_lock_wcopy) 
     1080    system_lock=$(conf_lock_system) 
    10991081    conf_set_recipe "$recipe" 
    1100     conf_unlock_system 
    1101     conf_unlock_wcopy 
     1082    conf_unlock_system $system_lock 
     1083    conf_unlock_wcopy $wcopy_lock 
    11021084} 
    11031085 
  • branches/confman-1.9/confmanlib.sh.in

    r481 r483  
    131131 
    132132function conf_lock_wcopy { 
     133    local locktype 
    133134    conf_require_wcopy 
    134     ${LOCK} lock $$ $(conf_wcopy_lockfile) || exit 1 
     135 
     136    # If this process already has a lock on the wcopy 
     137    if conf_wcopy_is_locked; then 
     138        locktype="RECURSIVE" 
     139    else 
     140        locktype="ORIGINAL" 
     141    fi 
     142 
     143    ${LOCK} lock $$ $(conf_wcopy_lockfile) || die 
    135144    WCOPY_DIRTY="true" 
     145    echo $locktype 
    136146} 
    137147 
    138148function conf_unlock_wcopy { 
    139     local recursive_lock="$1" 
    140  
    141     # Don't release the lock if it was grabbed recursively 
    142     [ -n "$recursive_lock" ] && [ "$recursive_lock" = "1" ] && return 
    143  
    144     ${LOCK} unlock $$ $(conf_wcopy_lockfile) 
     149    local locktype="$1" 
     150 
     151    if [ "$locktype" = "RECURSIVE" ] ; then 
     152        return 0 
     153    elif [ "$locktype" = "ORIGINAL" ] ; then 
     154        ${LOCK} unlock $$ $(conf_wcopy_lockfile) 
     155        return $? 
     156    else 
     157        echo "Invalid lock type in conf_unlock_wcopy" >&4 
     158        die 
     159    fi 
    145160} 
    146161 
     
    150165 
    151166function conf_lock_system { 
    152     ${SUDO} ${LOCK} lock $$ "$LOCKFILE" || exit 1 
     167    local locktype 
     168 
     169    # If this process already has a lock on the wcopy 
     170    if conf_system_is_locked; then 
     171        locktype="RECURSIVE" 
     172    else 
     173        locktype="ORIGINAL" 
     174    fi 
     175 
     176    ${SUDO} ${LOCK} lock $$ "$LOCKFILE" || die 
     177    echo $locktype 
    153178} 
    154179 
    155180function conf_unlock_system { 
    156     ${SUDO} ${LOCK} unlock $$ "$LOCKFILE" 
     181    local locktype="$1" 
     182 
     183    if [ "$locktype" = "RECURSIVE" ] ; then 
     184        return 0 
     185    elif [ "$locktype" = "ORIGINAL" ] ; then 
     186        ${SUDO} ${LOCK} unlock $$ "$LOCKFILE" 
     187        return $? 
     188    else 
     189        echo "Invalid lock type in conf_unlock_system" >&2 
     190        die 
     191    fi 
    157192} 
    158193 
    159194function conf_system_is_locked { 
    160195    ${LOCK} haslock $$ "$LOCKFILE" 
     196} 
     197 
     198function conf_lock_is_recursive { 
     199    local locktype="$1" 
     200    case "$locktype" in 
     201        ORIGINAL)   return 1;; 
     202        RECURSIVE)  return 0;; 
     203        *)          echo "Invalid lock type in conf_lock_is_recursive" >&2 
     204                    die 
     205                    ;; 
     206    esac 
    161207} 
    162208 
     
    10581104    echo "Received a signal. Exiting cleanly." | conf_logger 
    10591105        echo "Please wait until I finish cleaning up after you." >&4 
    1060     conf_cleanExit 
     1106    conf_cleanExit 1 
    10611107} 
    10621108 
     
    10701116 
    10711117    conf_debug "Removing any system or working copy locks..." >&4 
    1072     conf_wcopy_is_locked && conf_unlock_wcopy 
    1073     conf_system_is_locked && conf_unlock_system 
     1118    conf_wcopy_is_locked && conf_unlock_wcopy ORIGINAL 
     1119    conf_system_is_locked && conf_unlock_system ORIGINAL 
    10741120         
    10751121        # And this clears any locks we may have created on our working copy: 
  • branches/confman-1.9/confsync.in

    r468 r483  
    6464fi 
    6565 
    66 conf_lock_system 
     66system_lock=$(conf_lock_system) 
    6767 
    6868conf_require_recipe 
     
    145145echo "Sync operation finished successfully" | conf_logger 
    146146 
    147 conf_unlock_system 
     147conf_unlock_system $system_lock 
    148148 
    149149rm -rf $tmpdir 
Note: See TracChangeset for help on using the changeset viewer.