Changeset 26816


Ignore:
Timestamp:
2011-05-04T10:19:07+02:00 (7 years ago)
Author:
jow
Message:

[package] comgt: add tty hotplug remove handling, only iterate each tty once (#9211)

Location:
trunk/package/comgt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/comgt/Makefile

    r26809 r26816  
    1010PKG_NAME:=comgt 
    1111PKG_VERSION:=0.32 
    12 PKG_RELEASE:=8 
     12PKG_RELEASE:=9 
    1313 
    1414PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz 
  • trunk/package/comgt/files/3g.usb

    r26810 r26816  
    1313        local proto 
    1414        config_get proto "$cfg" proto 
     15        [ "$proto" = 3g ] || return 0 
    1516 
    16         [ "$proto" = 3g ] && { 
    17                 local auto 
    18                 config_get_bool auto "$cfg" auto 1 
    19                 [ "$auto" = 1 ] || return 0 
     17        local auto 
     18        config_get_bool auto "$cfg" auto 1 
     19        [ "$auto" = 1 ] || [ "$ACTION" = remove ] || return 0 
    2020 
    21                 local dev 
    22                 config_get dev "$cfg" device 
     21        local dev 
     22        config_get dev "$cfg" device 
    2323 
    24                 if [ "${dev##*/}" = "${tty##*/}" ] && [ -z "$(ls /var/lock | grep ${dev##*/})" ]; then 
     24        if [ "${dev##*/}" = "${tty##*/}" ]; then 
     25                if [ "$ACTION" = add ]; then 
    2526                        log "Starting interface $cfg for device ${dev##*/}" 
    2627                        ( sleep 1; /sbin/ifup "$cfg" ) & 
     28                else 
     29                        log "Stopping interface $cfg for device ${dev##*/}" 
     30                        /sbin/ifdown "$cfg" & 
    2731                fi 
    28         } 
     32        fi 
    2933} 
    3034 
     35case "$DEVICENAME" in 
     36        tty*) 
     37                [ -e "/dev/$DEVICENAME" ] || [ "$ACTION" = remove ] || exit 0 
     38                config_load network 
     39                config_foreach find_3g_iface interface "/dev/$DEVICENAME" 
     40        ;; 
     41esac 
    3142 
    32 if [ "$ACTION" = add ]; then 
    33         case "$DEVICENAME" in 
    34                 tty*) config_load network;; 
    35                 *) exit 0;; 
    36         esac 
    37  
    38         local tty 
    39         for tty in /dev/ttyUSB* /dev/ttyACM* /dev/ttyHS*; do 
    40                 [ -e "$tty" ] || continue 
    41                 config_foreach find_3g_iface interface "$tty" 
    42         done 
    43 fi 
Note: See TracChangeset for help on using the changeset viewer.