Flashcode

ZeGuigui

Archive du 18/11/2004

Retour liste des archives

Table des Matières

[ECI] Semaphore leak [PRECEDENT] [SOMMAIRE] [SUIVANT] [ARCHIVES]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From: "Gilles Espinasse" <g.esp (à) free.fr> Subject: [ECI] Semaphore leak Date: Thu, 18 Nov 2004 23:09:57 +0100 When eciadsl-synch from eciadsl-0.10 end on timeout, the semaphore is not removed and and a new one is created at the next synch attempt. I saw this three days ago by adding some debug info to my synch script: I do like this while [ $CNT -le 5 -a $RET -ne 0 ]; do msg "$MODEM Synch attempt #$CNT" cat /proc/sysvipc/sem > /tmp/synch-$CNT.log /usr/$BPATH/eciadsl-synch -v 0x$VID2 0x$PID2 /var/ipcop/eciadsl/synch.bin >> /tmp/synch-$CNT.log RET=$? CNT=$(expr $CNT + 1) /bin/sleep 2 done Result from the cat /proc/sysvipc/sem look like this key semid perms nsems uid gid cuid cgid otime ctime 0 0 600 1 99 99 0 0 1100813666 1100642584 0 65537 666 1 0 0 0 0 1100642783 1100642781 0 98306 666 1 0 0 0 0 1100642814 1100642803 0 393219 666 1 0 0 0 0 1100643176 1100643165 0 458756 666 1 0 0 0 0 1100644108 1100644095 0 524293 666 1 0 0 0 0 1100644281 1100644270 0 589830 666 1 0 0 0 0 1100644397 1100644396 0 622599 666 1 0 0 0 0 0 1100644458 0 1310728 666 1 0 0 0 0 1100675119 1100675107 0 1966089 666 1 0 0 0 0 1100813258 1100813231 0 851979 666 1 0 0 0 0 1100645262 1100645252 0 1179660 666 1 0 0 0 0 1100646578 1100646563 0 1212429 666 1 0 0 0 0 1100646627 1100646625 0 1245198 666 1 0 0 0 0 0 1100646687 All semaphores but the first one were created and not removed by eciadsl-synch-0.10 (I have removed one or two more of them playing with ipcrm at the middle of the list). Next I try to understand and add some debug info on the code to see what happen. By mistake, I copy the eciadsl-synch binary from eciadsl-usermode-0.10-nortek-alpha. So I did not saw my debug message, but I discover 0.10-nortek-alpha eciadsl-synch work with standard version modem, the synch process is not the same because it never fail on timeout , so synch is quicker because there is no time loose before retrying to synch again. Because it did not fall on timout as standard 0.10 version, I am not capable to reproduce the problem but the same leak with semaphore creation should exist if a timeout occur.

Mesure antispam : tous les @ ont été remplacés par (à)