unterschiedliche bind(2) Implementierung FreeBSD/Linux?

From: Matthias Teege <matthias-dbsdq(at)mteege.de>
Date: Sat, 08 Nov 2003 10:46:23 +0100

Moin,

ich bin gerade über einen kleinen Unterschied in der Verwendung von
bind(2) zwischen Linux und FreeBSD gestolpert und habe in der
Dokumentation nichts gefunden das mir sagt, welche Variante
"richtig" ist.

Das betreffende Programm möchte den Socket "dev/cgi" mit bind
behandeln und ruft

bind (sockfd, sa, socksize)

auf. Unter Linux funktioniert das aber ein strace unter BSD zeigt
mir

bind(0, {sa_family=AF_UNIX, path="dev/cg"}, 8)

Hmm, es fehlt das letzte Zeichen. Ich ändere also den Code auf

bind (sockfd, sa, socksize+1)

und siehe da, es wirkt

bind(0, {sa_family=AF_UNIX, path="dev/cgi"}, 9)

Leider ist mir nicht klar, warum BSD einen Länge von 9 Byte anstatt
8 braucht.

Muss das so oder ist da irgendwo ein Fehler? Das BSD ist ein 4.8.

Vielen Dank
Matthias

-- 
Matthias Teege -- http://www.mteege.de
make world not war
To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 08 Nov 2003 - 10:50:23 CET

search this site