#NEWLINE# def perform( self , achalls ) : #NEWLINE# #INDENT# renewer = ( self . config . verb == 'renew' ) #NEWLINE# if any ( ( util . already_listening ( port , renewer ) for port in self . _necessary_ports ) ) : #NEWLINE# #INDENT# raise errors . MisconfigurationError ( 'At least one of the (possibly) required ports is already taken.' ) #NEWLINE# #UNINDENT# try : #NEWLINE# #INDENT# return self . perform2 ( achalls ) #NEWLINE# #UNINDENT# except errors . StandaloneBindError as error : #NEWLINE# #INDENT# display = zope . component . getUtility ( interfaces . IDisplay ) #NEWLINE# if ( error . socket_error . errno == socket . errno . EACCES ) : #NEWLINE# #INDENT# display . notification ( "Could not bind TCP port {0} because you don't have the appropriate permissions (for example, you aren't running this program as root)." . format ( error . port ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( error . socket_error . errno == socket . errno . EADDRINUSE ) : #NEWLINE# #INDENT# display . notification ( 'Could not bind TCP port {0} because it is already in use by another process on this system (such as a web server). Please stop the program in question and then try again.' . format ( error . port ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise