示例#1
0
    def SvcDoRun(self):
        try:
            logmsg("service run")
            import servicemanager
            # Write a 'started' event to the event log...
            win32evtlogutil.ReportEvent(
                self._svc_display_name_,
                servicemanager.PYS_SERVICE_STARTED,
                0,  # category
                servicemanager.EVENTLOG_INFORMATION_TYPE,
                (self._svc_name_, ''))

            reactor_type = registry.get_registry_value('reactor')
            if reactor_type == 'iocp':
                from twisted.internet import iocpreactor
                iocpreactor.install()
            else:
                from twisted.internet import selectreactor
                selectreactor.install()
            from twisted.internet import reactor

            if os.path.exists('DISABLE_STARTUP'):
                logmsg("DISABLE_STARTUP exists: exiting")
            else:
                logmsg("runing reactorthread")

                # launch main thread...
                thread.start_new_thread(self.launch_node, ())

                # ...and block until service stop request
                win32event.WaitForSingleObject(self.hWaitStop,
                                               win32event.INFINITE)

                logmsg("wake up")

                reactor.callFromThread(reactor.stop)

                time.sleep(2)  # give the node/reactor a chance to cleanup

            # and write a 'stopped' event to the event log.
            win32evtlogutil.ReportEvent(
                self._svc_display_name_,
                servicemanager.PYS_SERVICE_STOPPED,
                0,  # category
                servicemanager.EVENTLOG_INFORMATION_TYPE,
                (self._svc_name_, ''))
        except:
            try:
                logmsg("exception")
                traceback.print_exc(None, logfilehandle)
                logfilehandle.flush()
                logfilehandle.close()
            except:
                os.abort()
示例#2
0
文件: common.py 项目: U0001F3A2/golem
def install_reactor():

    if is_windows():
        from twisted.internet import iocpreactor
        iocpreactor.install()
    elif is_osx():
        from twisted.internet import kqreactor
        kqreactor.install()

    from twisted.internet import reactor
    from golem.core.variables import REACTOR_THREAD_POOL_SIZE
    reactor.suggestThreadPoolSize(REACTOR_THREAD_POOL_SIZE)
    return reactor
 def SvcDoRun(self):
     import servicemanager
     servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE, servicemanager.PYS_SERVICE_STARTED,(self._svc_display_name_, ''))
     from pulse2.package_server.config import P2PServerCP
     config = P2PServerCP()
     config.setup(self.inifile)
     if config.use_iocp_reactor:
         from twisted.internet import iocpreactor
         iocpreactor.install()
     self.CheckForQuit()
     self.init(config)
     twisted.internet.reactor.run(installSignalHandlers=0)
     servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE, servicemanager.PYS_SERVICE_STOPPED,(self._svc_display_name_, ''))
示例#4
0
    def SvcDoRun(self):
        try:
            logmsg("service run")
            import servicemanager
            # Write a 'started' event to the event log...
            win32evtlogutil.ReportEvent(self._svc_display_name_,
                                        servicemanager.PYS_SERVICE_STARTED,
                                        0, # category
                                        servicemanager.EVENTLOG_INFORMATION_TYPE,
                                        (self._svc_name_, ''))

            reactor_type = registry.get_registry_value('reactor')
            if reactor_type == 'iocp':
                from twisted.internet import iocpreactor
                iocpreactor.install()
            else:
                from twisted.internet import selectreactor
                selectreactor.install()
            from twisted.internet import reactor

            if os.path.exists('DISABLE_STARTUP'):
                logmsg("DISABLE_STARTUP exists: exiting")
            else:
                logmsg("runing reactorthread")

                # launch main thread...
                thread.start_new_thread(self.launch_node, ())

                # ...and block until service stop request
                win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)

                logmsg("wake up")

                reactor.callFromThread(reactor.stop)

                time.sleep(2) # give the node/reactor a chance to cleanup

            # and write a 'stopped' event to the event log.
            win32evtlogutil.ReportEvent(self._svc_display_name_,
                                        servicemanager.PYS_SERVICE_STOPPED,
                                        0, # category
                                        servicemanager.EVENTLOG_INFORMATION_TYPE,
                                        (self._svc_name_, ''))
        except:
            try:
                logmsg("exception")
                traceback.print_exc(None, logfilehandle)
                logfilehandle.flush()
                logfilehandle.close()
            except:
                os.abort()
 def SvcDoRun(self):
     import servicemanager
     servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
                           servicemanager.PYS_SERVICE_STARTED,
                           (self._svc_display_name_, ''))
     from pulse2.package_server.config import P2PServerCP
     config = P2PServerCP()
     config.setup(self.inifile)
     if config.use_iocp_reactor:
         from twisted.internet import iocpreactor
         iocpreactor.install()
     self.CheckForQuit()
     self.init(config)
     twisted.internet.reactor.run(installSignalHandlers=0)
     servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
                           servicemanager.PYS_SERVICE_STOPPED,
                           (self._svc_display_name_, ''))
示例#6
0
from __future__ import division

import base64
import gc
import json
import os
import random
import sys
import time
import signal
import traceback
import urlparse

if '--iocp' in sys.argv:
    from twisted.internet import iocpreactor
    iocpreactor.install()
from twisted.internet import defer, reactor, protocol, tcp
from twisted.web import server
from twisted.python import log
from nattraverso import portmapper, ipdiscover

import bitcoin.p2p as bitcoin_p2p, bitcoin.data as bitcoin_data
from bitcoin import stratum, worker_interface, helper
from util import fixargparse, jsonrpc, variable, deferral, math, logging, switchprotocol
from . import networks, web, work
import p2pool, p2pool.data as p2pool_data, p2pool.node as p2pool_node

class keypool():
    keys = []
    keyweights = []
    stamp = time.time()
示例#7
0
from __future__ import division

import base64
import gc
import json
import os
import random
import sys
import time
import signal
import traceback
import urlparse

if '--iocp' in sys.argv:
    from twisted.internet import iocpreactor
    iocpreactor.install()
from twisted.internet import defer, reactor, protocol, tcp
from twisted.web import server
from twisted.python import log
from nattraverso import portmapper, ipdiscover

import bitcoin.p2p as bitcoin_p2p, bitcoin.data as bitcoin_data
from bitcoin import stratum, worker_interface, helper
from util import fixargparse, jsonrpc, variable, deferral, math, logging, switchprotocol
from . import networks, web, work
import p2pool, p2pool.data as p2pool_data, p2pool.node as p2pool_node

@defer.inlineCallbacks
def main(args, net, datadir_path, merged_urls, worker_endpoint):
    try:
        print 'p2pool (version %s)' % (p2pool.__version__,)
示例#8
0
    try:
        import win32api,win32process
    except ImportError:
        win32api = win32process = None

    USE_WX = "-wx" in sys.argv

    if sys.platform == 'win32' and not USE_WX:
        from twisted.internet.iocpreactor import install
    else:
        USE_WX = True
        import wx
        from twisted.internet.wxreactor import install

    install()

    from twisted.spread import pb
    from twisted.internet import reactor
    from twisted.cred.credentials import UsernamePassword


    if USE_WX:
        from gui import Setup
        app = Setup(reactor)
        reactor.registerWxApp(app)


    WORLDNAME = None
    PUBLICNAME = None
    PASSWORD = None
示例#9
0

import sys
from os import getcwd
sys.path.append(getcwd())

USE_WX = "-wx" in sys.argv

if sys.platform == 'win32' and not USE_WX:
    from twisted.internet.iocpreactor import install
else:
    USE_WX = True
    import wx
    from twisted.internet.wxreactor import install

install()

from mud.gamesettings import *
from config import *
from twisted.internet import reactor
from twisted.spread import pb
from twisted.cred.credentials import UsernamePassword
from serverdb import CreateDatabase,CharDB,ReplicateDB
from zlib import decompress
from traceback import print_stack,print_exc
from base64 import encodestring,decodestring
from cPickle import dumps,loads
from time import time
from md5 import md5
import random
from mud.server.config import LoadConfiguration
示例#10
0
#
# Copyright (c) 2011 Duo Security
# All Rights Reserved
#

from twisted.internet import iocpreactor  # isort:skip

iocpreactor.install(
)  # isort:skip XXX this needs to go early in the import list

import os
import subprocess
import traceback

import servicemanager
import win32event
import win32evtlogutil
import win32serviceutil
from twisted.application import app
from twisted.internet import reactor

import duoauthproxy.proxy
from duoauthproxy.lib import util


class MyService(win32serviceutil.ServiceFramework):
    _svc_name_ = "DuoAuthProxy"
    _svc_display_name_ = "Duo Security Authentication Proxy Service"
    _svc_deps_ = ["EventLog"]

    def __init__(self, args):