def _make_socket(self):
"""Create socket and verify FCGI environment."""
try:
if self.__port:
if isinstance(self.__port, str):
try:
os.unlink(self.__port)
except:
pass
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.bind(self.__port)
# os.chmod(self.__port, 0660)
else:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# bind to the localhost
s.bind(('127.0.0.1', self.__port))
s.listen(1)
else:
if hasattr(socket, 'fromfd'):
s = socket.fromfd(self.fd.fileno(), socket.AF_INET, socket.SOCK_STREAM)
s.getpeername()
else: # we do not run on posix, fire up an FCGI external process
raise ValueError("FastCGI port is not setup correctly")
except socket.error, (err, errmsg):
if err != errno.ENOTCONN:
raise RuntimeError("No FastCGI environment: %s - %s" % (repr(err), errmsg))
self.sock = s
评论列表
文章目录