Es scheint alles soweit ok zu sein, bis auf folgende Ausnahmen:
accdevice
sollte noch mal jemand über die cc-Files gucken. Meiner Ansicht nach ist da alles ok, aber es ist etwas verzwickt zu erkennen. (KHoe, Kain) omni_thread
abgeleitet und werden detached gestartet, was bedeutet, dass sie sich selbst komplett beenden, wobei auch der Speicher freigegeben wird.
delete
.
devman
fehlt mir etwas der schnelle Durchblick. Da sollte Peter noch mal gucken. (Kain)
Wenn man das delete(ConnectThread*) in AccDevice::disconnect() selbst machen muss, ist zu beachten, dass man natürlich erst löschen darf, wenn der Thread zuende gelaufen ist. Ansonsten würgt man ihn mitten im Lauf ab. Das Warten auf das Thread-Ende geht mit join(). Aber woher weiß disconnect(), welcher Thread gejoined wurde und nun gelöscht werden kann? Womöglich einfach std::tr1::shared_ptr
benutzen. Siehe z.B. Seite 157 in "Effektiv C++ programmieren" (KHoe)
Ich verstehe den Code aus der omnithread (posix-Teil)so, als ob der Thread sich selbst zerstört, wenn er zuende gelaufen ist (KHoe)
const
bei Methoden bedeutet, dass die Methode nichts am Objekt (seinen Attributen) ändert. (LH) accdevice.hh|cc
müssen noch mit throw(AccDecException) versehen werden. const
für verschiedene Methoden ergänzt, ebenso in den Dateien *-interface.hh
. (LH)
using namespace std;
, ist verboten. Statt dessen muss man also entweder std::string x;
schreiben, oder string explizit mit using std::string
importieren. using...
in den Default-und den Therapie-USRs.
using...
) in den inkludierenden Sources, z.B. mx-usrs.cc
.
...DeviceAccess::AccData...
.
connect.cc
erfunden und die Makefiles angepasst.
In default-usrs*.hh|cc
und therapy-*usrs.hh|cc
sind keine Namespaces implementiert. Die bekommt man "automatisch" durch das Inkludieren dieser Dateien in z.B. mx-usrs.cc
. In diesen Quellen findet man aber Zeilen wie using namespace DeviceAccess
oder ...DA::AccData...
. Zur Klarheit wird festgelegt:
using...
in den Default-und den Therapie-USRs.
using...
) in den inkludierenden Sources, z.B. mx-usrs.cc
.
...DeviceAccess::AccData...
.
Außerdem sollten dringend rein die für alle gerätemodell-spezifischen Properties MEDDATAS, MEDDATAI und MSTDATAS gleichermaßen gültigen Parameterbeschreibungen.
*_var
-Typen von OmniORB benutzt. Ansonsten ist das Problem mittlerweile auf die *-corba.cc
-Dateien beschränkt.
/var/log/equLog/debug
, /var/log/equLog/error_log
und /var/log/equLog/messages
. Ist das Absicht? Ist das sinnvoll? What happend? getHostName()
mit gethostbyname(host)
erledigt.
/usr/local/acc/eldk/ppc_82xx/usr/local/scratch/eqp
kopieren und den Link in /usr/local/acc/eldk/<GuP>/opt/acc/cpu
passend setzen. copyusrs
erfunden.
ecload.py
gemacht.
/usr/local/acc/production/vme
heißen, auch von den PPC-GuPs aus erreichbar sein? Oder wie sind diese für V09 organisiert? Und welche Tools müssen dann darauf angepasst werden (z.B. cdcpu, cdeqp usw.)? vmeconfig
usw. relusrs
bauen. mx.so.09.12.03
statt mx.so.9.12.3
. kg1cg77
statt kg1cg77_
. root
ist auf die Dauer gefährlich. Das bisherige root-Passwort sollte geändert werden. vmeconfig
wählbar machen? /var/log/equLog
sollte so eingerichtet werden, dass für jeden neuen Tag ein neues Logfile angelegt wird (log rotate daily). Das Directory soll /var/log/equ
heißen, nicht /var/log/equLog
.