I have a program which does a bit of scanning through files, and right now I'm running into issues where std.File.isfile() is reporting sockets as files, which is problematic, because sockets cause segfaults when I try to read them.

This is the output of ls -lha on the directory with the socket:

srwxr-xr-x  1 seth seth    0 2010-08-09 20:54 SingletonSocket


So how can I detect if a file is actually a socket?