das problem ist, dass ich das schon getan hab. ich hab den gcc, die binutils und auch die glibc neu instaliert. alles funktioniert wie davor, aber auch die fehler sind noch vorhanden.
Performance beim pollen?
ich muss mehrere netzwerkverbindungen abfragen und zusaetzlich auf nicht socket-basierte ereignisse reagieren (die abgefragt werden muessen). daher kann ich nicht select() verwenden.
deshalb dachte ich daran die entpsrechenden recv() bzw. read() funktion nicht blockieren zu lassen, und sie stattdessen in einer while schleife abzufragen:
//pseuducode, fd1..fdx steht nicht zwingend fuer einen filedescriptor.
while(!myexit)
{
if (myread(fd1) >0)
handlemyread(1);
if (myread(fd2) >0)
handlemyread(2);
if (myread(fd3) >0)
handlemyread(3);
if (myrecv(fd1) >0)
handlemyrecv(1)
if (myrecv(fd2) >0)
handlemyrevc(2);
if (myrecv(fd3) >0)
handlemyrecv(3);
}
nun meine frage(n):
"verbrate" ich so unnoetig rechenzeit?
wird durch die nahezu endlos whileschleife eine hohe CPU last erzeugt? (im hinblick auf ander prozesse)
Performance beim pollen?
ich muss mehrere netzwerkverbindungen abfragen und zusaetzlich auf nicht socket-basierte ereignisse reagieren (die abgefragt werden muessen). daher kann ich nicht select() verwenden.
deshalb dachte ich daran die entpsrechenden recv() bzw. read() funktion nicht blockieren zu lassen, und sie stattdessen in einer while schleife abzufragen:
//pseuducode, fd1..fdx steht nicht zwingend fuer einen filedescriptor.
while(!myexit)
{
if (myread(fd1) >0)
handlemyread(1);
if (myread(fd2) >0)
handlemyread(2);
if (myread(fd3) >0)
handlemyread(3);
if (myrecv(fd1) >0)
handlemyrecv(1)
if (myrecv(fd2) >0)
handlemyrevc(2);
if (myrecv(fd3) >0)
handlemyrecv(3);
}
nun meine frage(n):
"verbrate" ich so unnoetig rechenzeit?
wird durch die nahezu endlos whileschleife eine hohe CPU last erzeugt? (im hinblick auf ander prozesse)
Performance beim pollen?
ich muss mehere netzwerkverbindungen abfragen und zusaetzlich auf nicht socket-basierte ereignisse reagieren (die abgefragt werden muessen). daher kann ich nicht select() verwenden.
deshalb dachte ich daran die entpsrechenden recv() bzw. read() funktion nicht blockieren zu lassen, und sie stattdessen in einer while schleife abzufragen:
//pseuducode, fd1..fdx steht nicht zwingend fuer einen filedescriptor.
while(!myexit)
{
if (myread(fd1) >0)
handlemyread(1);
if (myread(fd2) >0)
handlemyread(2);
if (myread(fd3) >0)
handlemyread(3);
if (myrecv(fd1) >0)
handlemyread(1)
if (myrecv(fd2) >0)
handlemyread(2);
if (myrecv(fd3) >0)
handlemyread(3);
}
nun meine frage(n):
"verbrate" ich so unnoetig rechenzeit?
wird durch die nahezu endlos whileschleife eine hohe CPU last erzeugt? (im hinblick auf ander prozesse)
ich muss mehere netzwerkverbindungen abfragen und zusaetzlich auf nicht socket-basierte ereignisse reagieren (die abgefragt werden muessen). daher kann ich nicht select() verwenden.
deshalb dachte ich daran die entpsrechenden recv() bzw. read() funktion nicht blockieren zu lassen, und sie stattdessen in einer while schleife abzufragen:
//pseuducode, fd1..fdx steht nicht zwingend fuer einen filedescriptor.
while(!myexit)
{
if (myread(fd1) >0)
handlemyread(1);
if (myread(fd2) >0)
handlemyread(2);
if (myread(fd3) >0)
handlemyread(3);
if (myrecv(fd1) >0)
handlemyrecv(1)
if (myrecv(fd2) >0)
handlemyrevc(2);
if (myrecv(fd3) >0)
handlemyrecv(3);
}
nun meine frage(n):
"verbrate" ich so unnoetig rechenzeit?
wird durch die nahezu endlos whileschleife eine hohe CPU last erzeugt? (im hinblick auf ander prozesse)
Performance beim pollen?
ich muss mehere netzwerkverbindungen abfragen und zusaetzlich auf nicht socket-basierte ereignisse reagieren (die abgefragt werden muessen). daher kann ich nicht select() verwenden.
deshalb dachte ich daran die entpsrechenden recv() bzw. read() funktion nicht blockieren zu lassen, und sie stattdessen in einer while schleife abzufragen:
//pseuducode, fd1..fdx steht nicht zwingend fuer einen filedescriptor.
while(!myexit)
{
if (myread(fd1) >0)
handlemyread(1);
if (myread(fd2) >0)
handlemyread(2);
if (myread(fd3) >0)
handlemyread(3);
if (myrecv(fd1) >0)
handlemyread(1)
if (myrecv(fd2) >0)
handlemyread(2);
if (myrecv(fd3) >0)
handlemyread(3);
}
nun meine frage(n):
"verbrate" ich so unnoetig rechenzeit?
wird durch die nahezu endlos whileschleife eine hohe CPU last erzeugt? (im hinblick auf ander prozesse)
Hi,
Kann mir irgendwer helfen?
Ich will das mein Programm immer gestartet wird wenn ein neues USB Gerät angeschlossen wird, damit ich es gegebenenfals automatisch mounten kann, oder sonst irgendwas anderes mit machen kann.
Gibt es da irgendwas, oder muss ich alle 5 Mnuten überprüfen ob ein neues USB Gerät angeschlossen wurde? Weil das wollte ich nach möglichkeit vermeiden.
Danke Schon mal
BlaBlup
du kannst unter linux auch dnotify verwenden. das ist ein feature des kernels, und du brauchst nur einen kernel, der das kann, und kein zusatzpaket wie fam. fam macht das auch nur über dnotify, soweit ich weiß.
vielleicht schaust du dir aber methoden der interprocess communication an, da die dein problem besser lösen könnten.
ich hab jetzt mal das install script driene und wen ich dne instal befehl schreib nen ausdruk!!
der befehl:
linux:~ # /home/Simon/Acx100Drv/installAcx100
/usr/sbin/iwconfig
Wireless extensions found.
rm: too few arguments
Try `rm --help' for more information.
Acx100 Installation failed: There is no available acx100 module for you
Your kernel version is - 2.4.20-4GB-athlon
die insatllAcx100 datei
#!/bin/bash
# Generic binary Acx100 driver install script, attempts to find matching kernel version
# to install, or re-label an existing kernel to use.
# Original: Alex Huang - alexcmhuang@globalsuntech.com
# Updated: Ivor Hewitt - ivor@ivor.org
MODULE=acx100sta.o
KERNEL=`uname -r`
TARGET=kernel/drivers/net
if [ `id -u` -ne 0 ]
then
echo
echo "Please change to Super-User to continue this installion "
echo
exit 1
fi
if which iwconfig
then
echo "Wireless extensions found."
else
echo "Wireless extensions must be installed."
exit 1
fi
#unload any module resident
/sbin/modprobe -r acx100sta
#remove any old copies of this module lying around
rm /sbin/modprobe -l $MODULE
#check for other acx100 drivers
if /sbin/modprobe -l | grep "acx100"
then
echo "I think there are old acx drivers lying around,"
echo "please check your modules."
exit 1
fi
if [ -d ./KERNEL ]
then
cd ./KERNEL
cp acx100sta-`uname -r`.o ../$MODULE
cd ..
else
echo
echo 'Acx100 Installation failed: There is no available acx100 module for you'
echo 'Your kernel version is - '`uname -r`
echo
exit 1
fi
if [ -f /lib/modules/`uname -r`/TARGET/TARGET/TARGET/MODULE ]
then
rm -f /lib/modules/`uname -r`/TARGET/TARGET/TARGET/MODULE
fi
chmod +x $MODULE
cp -f MODULE /lib/modules/\`uname -r\`/TARGET/.
STOP=0
until [ $STOP -eq 1 ]
do
echo
echo "Acx100 Module for $KERNEL will be installed"
echo
echo "...........Installation is executing..........."
echo
RET=0
if /sbin/insmod /lib/modules/`uname -r`/TARGET/TARGET/TARGET/MODULE
then
RET=1
fi
echo "Checking dependencies."
if /sbin/depmod -aqu -F /proc/ksyms
then
RET=1
fi
if [ $RET -ne 1 ]
then
read -p "Dependency failure, try to fix symbols? [y]|n : " FIX
echo "Removing driver"
/sbin/modprobe -r acx100sta
rm /sbin/modprobe -l $MODULE
if [ "$FIX" != "n" ]
then
./fixscript MODULE /lib/modules/\`uname -r\`/TARGET/$MODULE
else
STOP=1
fi
else
STOP=1
fi
done
rm -f $MODULE
if [ $RET -eq 1 ]
then
echo
echo "Acx100 Module has sucessfully installed"
echo
else
echo
echo "The installation is Failed"
echo
fi
Ich habe eine IP und will aus dieser den Hostnamen ermitteln. Bisher sah das bei mir so aus und funktionierte nicht:
struct hostent *he;
he=gethostbyaddr(inet_ntoa(*IP),100,AF_INET);
if (he) ...
he war hinterher immer NULL, es konnte (trotz vorhandener Verbindung zu INet
und DNS) kein Hostname für diese struct in_addr *IP ermittelt werden.
Hat jemand eine Idee, woran das liegen könnte?
Hi
Tripwire gibt auch nur an ob es veränderungen gab aber nicht von wem.
Du musst wohl wie Kingrüdi schon sagte ein Modul coden das den syscall abfängt und den user loggt.
mhh, kann ich jetzt schlecht rekonstruiern, da ich ja im moment kein reiserfs mehr hab
war aber 100%ig keine fehlermeldung, sondern nur ne meldung, dass ne partition mit reiserfs gemountet wurde...
Hat sich erledigt.
Ich hatte vergessen, dass um eine Datei zu loeschen nicht die Rechte der Datei, sondern die des enthaltenden Verzeichnisses entscheidend sind.