Ignore:
Timestamp:
10/22/2007 17:19:50 (5 years ago)
Author:
arjun
Message:

Fixed the locking bug

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tags/confman-1.5.6a2/confman

    r174 r185  
    1 #! /bin/bash   
     1#! /bin/bash  
    22# 
    33# confman provides a command-line interface to Rescomp's server configuration  
     
    4040    if conf_wcopy_locked? 
    4141    then 
    42         local lock_pid=`cat ${WORK_PATH}/confman.lock` #gets the PID of the confman instance that created the lock 
    43         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     42        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     43        unset WCOPY_LOCK_PID 
    4444    else 
    4545        if [ -d ${WORK_PATH} ]  
     
    7676    if conf_wcopy_locked? 
    7777    then 
    78         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    79         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     78        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     79        unset WCOPY_LOCK_PID 
    8080    else 
    8181        conf_lock_wcopy 
     
    9595    if conf_wcopy_locked? 
    9696    then 
    97         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    98         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     97        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     98        unset WCOPY_LOCK_PID 
    9999    else 
    100100        conf_lock_wcopy 
     
    112112    if conf_wcopy_locked? 
    113113    then 
    114         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    115         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     114        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     115        unset WCOPY_LOCK_PID 
    116116    else 
    117117        conf_lock_wcopy 
     
    129129    if conf_system_locked?  && conf_wcopy_locked? 
    130130    then 
    131         local wcopy_pid=`cat ${WORK_PATH}/confman.lock`  
    132         local system_pid=`cat /var/run/confman.lock` 
    133         echo "The system is locked by confman[$system_pid] and your working copy is locked by confman[$wcopy_pid]" >&2 
     131        echo "The system is locked by confman[$SYSTEM_LOCK_PID] and your working copy is locked by confman[$WCOPY_LOCK_PID]" >&2 
     132        unset WCOPY_LOCK_PID 
     133        unset SYSTEM_LOCK_PID 
    134134    elif conf_system_locked?  
    135135    then 
    136         local lock_pid=`cat /var/run/confman.lock`  
    137         echo "The system is locked by confman[$lock_pid]." >&2 
     136        echo "The system is locked by confman[$SYSTEM_LOCK_PID]." >&2 
     137        unset SYSTEM_LOCK_PID 
    138138    elif conf_wcopy_locked? 
    139139    then 
    140         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    141         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     140        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     141        unset WCOPY_LOCK_PID 
    142142    else 
    143143        conf_lock_wcopy 
     
    180180    if conf_system_locked?  && conf_wcopy_locked? 
    181181    then 
    182         local wcopy_pid=`cat ${WORK_PATH}/confman.lock`  
    183         local system_pid=`cat /var/run/confman.lock` 
    184         echo "The system is locked by confman[$system_pid] and your working copy is locked by confman[$wcopy_pid]" >&2 
     182        echo "The system is locked by confman[$SYSTEM_LOCK_PID] and your working copy is locked by confman[$WCOPY_LOCK_PID]" >&2 
     183        unset WCOPY_LOCK_PID 
     184        unset SYSTEM_LOCK_PID 
    185185    elif conf_system_locked?  
    186186    then 
    187         local lock_pid=`cat /var/run/confman.lock`  
    188         echo "The system is locked by confman[$lock_pid]." >&2 
     187        echo "The system is locked by confman[$SYSTEM_LOCK_PID]." >&2 
     188        unset SYSTEM_LOCK_PID 
    189189    elif conf_wcopy_locked? 
    190190    then 
    191         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    192         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     191        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     192        unset WCOPY_LOCK_PID 
    193193    else 
    194194        conf_lock_wcopy 
     
    234234    if conf_wcopy_locked? 
    235235    then 
    236         local lock_pid=`cat ${WORK_PATH}/confman.lock` #gets the PID of the confman instance that created the lock 
    237     fi 
    238     if conf_wcopy_locked? && [ !  $lock_pid = $$ ] #checks to see if the wcopy is locked; if so, checks to see if the current instance created the lock 
    239         then 
    240             echo "Your working copy is locked by confman[$lock_pid]" >&2 
    241         else 
     236        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     237        unset WCOPY_LOCK_PID 
     238    else 
    242239        if  conf_lock_wcopy 
    243240        then 
     
    409406    if conf_wcopy_locked? 
    410407    then 
    411         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    412         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     408        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     409        unset WCOPY_LOCK_PID 
    413410    else 
    414411        conf_lock_wcopy 
     
    426423    if conf_wcopy_locked? 
    427424    then 
    428         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    429         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     425        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     426        unset WCOPY_LOCK_PID 
    430427    else 
    431428        conf_lock_wcopy 
     
    519516    if conf_wcopy_locked? 
    520517    then 
    521         local lock_pid=`cat ${WORK_PATH}/confman.lock` #gets the PID of the confman instance that created the lock 
    522     fi 
    523     if conf_wcopy_locked? && [ !  $lock_pid = $$ ] #checks to see if the wcopy is locked; if so, checks to see if the current instance created the lock 
    524         then 
    525             echo "Your working copy is locked by confman[$lock_pid]" >&2 
    526         else 
     518        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     519        unset WCOPY_LOCK_PID 
     520    else 
    527521        if  conf_lock_wcopy 
    528522        then 
     
    562556    if conf_wcopy_locked? 
    563557    then 
    564         local lock_pid=`cat ${WORK_PATH}/confman.lock` #gets the PID of the confman instance that created the lock 
    565     fi 
    566     if conf_wcopy_locked? && [ !  $lock_pid = $$ ] #checks to see if the wcopy is locked; if so, checks to see if the current instance created the lock 
    567         then 
    568             echo "Your working copy is locked by confman[$lock_pid]" >&2 
    569         else 
     558        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     559        unset WCOPY_LOCK_PID 
     560    else 
    570561        if  conf_lock_wcopy 
    571562        then 
     
    605596    if conf_wcopy_locked? 
    606597    then 
    607         local lock_pid=`cat ${WORK_PATH}/confman.lock` #gets the PID of the confman instance that created the lock 
    608     fi 
    609     if conf_wcopy_locked? && [ !  $lock_pid = $$ ] #checks to see if the wcopy is locked; if so, checks to see if the current instance created the lock 
    610         then 
    611             echo "Your working copy is locked by confman[$lock_pid]" >&2 
    612         else 
     598        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     599        unset WCOPY_LOCK_PID 
     600    else 
    613601        if  conf_lock_wcopy 
    614602        then 
     
    648636    if conf_wcopy_locked? 
    649637    then 
    650         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    651         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     638        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     639        unset WCOPY_LOCK_PID 
    652640    else 
    653641        conf_lock_wcopy 
     
    674662    if conf_wcopy_locked? 
    675663    then 
    676         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    677         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     664        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     665        unset WCOPY_LOCK_PID 
    678666    else 
    679667        conf_lock_wcopy 
     
    693681    if conf_wcopy_locked? 
    694682    then 
    695         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    696         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     683        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     684        unset WCOPY_LOCK_PID 
    697685    else 
    698686        conf_lock_wcopy 
     
    712700    if conf_system_locked?  && conf_wcopy_locked? 
    713701    then 
    714         local wcopy_pid=`cat ${WORK_PATH}/confman.lock`  
    715         local system_pid=`cat /var/run/confman.lock` 
    716         echo "The system is locked by confman[$system_pid] and your working copy is locked by confman[$wcopy_pid]" >&2 
     702        echo "The system is locked by confman[$SYSTEM_LOCK_PID] and your working copy is locked by confman[$WCOPY_LOCK_PID]" >&2 
     703        unset WCOPY_LOCK_PID 
     704        unset SYSTEM_LOCK_PID 
    717705    elif conf_system_locked?  
    718706    then 
    719         local lock_pid=`cat /var/run/confman.lock`  
    720         echo "The system is locked by confman[$lock_pid]." >&2 
     707        echo "The system is locked by confman[$SYSTEM_LOCK_PID]." >&2 
     708        unset SYSTEM_LOCK_PID 
    721709    elif conf_wcopy_locked? 
    722710    then 
    723         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    724         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     711        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     712        unset WCOPY_LOCK_PID 
    725713    else 
    726714        conf_lock_wcopy 
     
    754742    if conf_wcopy_locked? 
    755743    then 
    756         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    757         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     744        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     745        unset WCOPY_LOCK_PID 
    758746    else 
    759747        conf_lock_wcopy 
     
    771759    if conf_wcopy_locked? 
    772760    then 
    773         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    774         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     761        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     762        unset WCOPY_LOCK_PID 
    775763    else 
    776764        conf_lock_wcopy 
     
    805793    if conf_wcopy_locked? 
    806794    then 
    807         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    808         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     795        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     796        unset WCOPY_LOCK_PID 
    809797    else 
    810798        conf_lock_wcopy 
     
    824812    if conf_wcopy_locked? 
    825813    then 
    826         local lock_pid=`cat ${WORK_PATH}/confman.lock`  
    827         echo "Your working copy is locked by confman[$lock_pid]." >&2 
     814        echo "Your working copy is locked by confman[$WCOPY_LOCK_PID]." >&2 
     815        unset WCOPY_LOCK_PID 
    828816    else 
    829817        conf_lock_wcopy 
Note: See TracChangeset for help on using the changeset viewer.