2011-12-07 6 views
1

私はomniORBpyを使用するpythonクライアント/サーバアプリケーションに取り組んでおり、サーバを正しく終了する方法を理解しようとしています。omniORBpyサーバを終了する

私はそうするには、この方法があります:

def shutdown(self): 
    print "---------------------------------------" 
    print "shutdown" 
    orb.shutdown(False) 
    quit() 

しかし、私が言及した機能の上に呼び出すクライアントからのメッセージこのエラーが出る送る:

--------------------------------------- 
shutdown 
omniORB: Caught an unexpected Python exception during up-call. 
terminate called after throwing an instance of 'omni_thread_fatal' 
Aborted 

誰も私が何をすべきか知っていますがサーバーを正しく終了する必要がありますか?

答えて

0

サーバーをシャットダウンすることはできません(一方向呼び出しではなくても)。頻繁にチェックされるように、「フラグ」を変更する必要があります。設定されている場合は、サーバーをシャットダウンします。擬似コードで

例えば、:

def shutdown(): 
    self.shutdown = True 

def run(): 
    while not self.shutdown: 
    workloop() 

またはこのような何か。言い換えると;リモート呼び出しでサーバーを強制終了しないでください。

+0

ありがとう!:) –

+0

あなたはようこそ... – tuergeist

0

シャットダウン方法をIDLの一方向の方法にしましたか?

+0

はい、私はしました:oneway void shutdownDFS(); –

関連する問題