--- trunk/usbip/usbipdevd-sql 2007/05/10 14:12:40 178 +++ trunk/usbip/usbipdevd-sql 2007/05/15 14:39:55 185 @@ -5,8 +5,11 @@ CLIENTIP=$(/sbin/ifconfig eth0 | sed -n '/addr:/s/ [^r]*..//gp') -# get a free session id -SESSIONID=$(mysqldo "insert into clients (ip,connected) values('${CLIENTIP}','1');select last_insert_id();") +# create a new ip entry if none exist +if [[ -z $(mysqldo "select ip from clients where ip='${CLIENTIP}") ]] +then + mysqldo "insert into clients (ip,connected) values('${CLIENTIP}','0')" +fi while true do @@ -17,21 +20,19 @@ echo "BUSID: ${BUSID}" # abort if nothing has changed - if [[ $(mysqldo "select connected from clients where id='${SESSIONID}'") = 1 ]] && - [[ $(mysqldo "select busid from clients where id='${SESSIONID}'") = ${BUSID} ]] + if [[ $(mysqldo "select connected from clients where ip='${CLIENTIP}'") = 1 ]] && + [[ $(mysqldo "select busid from clients where ip='${CLIENTIP}'") = ${BUSID} ]] then echo "USBID is the same; nothing changed" else echo "exporting Logitech Pen with ID ${BUSID}" bind_driver --usbip ${BUSID} - mysqldo "update clients set ip='${CLIENTIP}', connected='1', busid='${BUSID}' where id='${SESSIONID}'" + mysqldo "update clients set connected='1', busid='${BUSID}' where ip='${CLIENTIP}'" fi else echo "No Logitech Pen (${USBIP_DEVICE_ID}) found ..." - mysqldo "update clients set ip='${CLIENTIP}', connected='0', busid='${BUSID}' where id='${SESSIONID}'" + mysqldo "update clients set connected='0', busid='${BUSID}' where ip='${CLIENTIP}'" fi sleep ${USBIP_WAIT_TIMEOUT} done - -mysqldo "delete from clients where id='${SESSIONID}')"