Skip to main content

Understanding the Solaris socket filesystem

Sockets provide an interface into the kernel's networking protocols by allowing programmers to create a communication endpoint in the form of a file descriptor, and by binding a name to the file descriptor. That follows a convention that has existed in Unix systems since its inception: file-based I/O, where the source or destination of an I/O operation appears to the programmer as a file, and a standard set of interfaces (open(2), read(2), write(2), close(2)) can be used to acquire a file descriptor and issue I/O operations.more...

Comments

Popular posts from this blog

Fixing Unix/Linux/POSIX Filenames

Traditionally, Unix/Linux/POSIX filenames can be almost any sequence of bytes, and their meaning is unassigned. The only real rules are that "/" is always the directory separator, and that filenames can't contain byte 0 (because this is the terminator). Although this is flexible, this creates many unnecessary problems. In particular, this lack of limitations makes it unnecessarily difficult to write correct programs (enabling many security flaws), makes it impossible to consistently and accurately display filenames, causes portability problems, and confuses users. more ....

Debugging Perl

The standard Perl distribution comes with a debugger, although it's really just another Perl program, perl5db.pl. Since it is just a program, I can use it as the basis for writing my own debuggers to suit my needs, or I can use the interface perl5db.pl provides to configure its actions. That's just the beginning, though. read more...