チケット #528 (closed 不具合: fixed)

登録: 12 年 前

最終更新: 12 年 前

JSグローバル関数「execute()」実行中、他のJSプログラムが動作しない

報告者: shinomiya 担当者: shinomiya
優先度: major マイルストーン: 0.1.2
コンポーネント: im-jssp バージョン: 0.1.2
キーワード: 関係者:

チケットの概要

原因

  • JSの基本スコープのインスタンス取得メソッドと、JSグローバル関数「execute()」が同一のsynchronizedモニタを使用しているため。

修正方法

  • execute()のsynchronizedを外す。
    • これにより、execute()の複数同時実行を可能とする。
      • ファイル書き込み等の排他制御は、子プロセス側の対処とする。

チケットの履歴

2007/09/28 12:14:04 更新者:shinomiya

  • ステータスnew から assigned に更新されました。

2007/09/28 16:48:46 更新者:shinomiya

  • ステータスassigned から closed に更新されました。
  • 解決方法fixed に更新されました。

修正しました。
チェンジセット [126]

テスト内容

以下のプログラム実行中でも、他のサンプル画面が表示されること。(Windows環境)

  • テストプログラム
    function init(request){
    	Debug.print("始まり");
    
    	var result = execute("sleep_caller_sample.bat 10");
    
    	Debug.print("終わりました!");
    	Debug.print(result.output);
    	Debug.browse(result);
    }
    
  • sleep_caller_sample.bat
    set PATH=C:\@work;%PATH%
    echo off
    echo %1秒待ちます -- %time%
    call sleep %1
    echo 終わりました - %time%
    
  • sleep.bat
    @echo off
    REM Sleep.bat [秒数]
    set /a wtime=(%1+0)*1000
    echo WScript.Sleep %wtime% > tmp.vbs
    cscript //NoLogo tmp.vbs
    del tmp.vbs
    set wtime=
    

2008/04/14 17:18:07 更新者:anonymous

http://www.finishup.cn H?r f?rs?kte allts? pejlaren f? mig att "erk?nna" genom http://www.chinawordpress.net.cn hota med b?ter och r?tteg?ng. Hon f?rs?kte ?ven f? mig att erk?nna att jag har en http://www.chinaword.net.cn DVD-spelare kan emot tevesignaler. Visst finns det kanske DVD-spelare med tevemottagare men en som sitter i datorn? Lite komiskt. Videoapparater har oftast tevemottagare s? hade jag sagt ja d?r hade jag f?rmodligen varit illa ute http://www.tatto.com.cn Vid en r?tteg?ng st?r pejlarens ord mot ditt eftsom pejlaren ?r en tj?nsteman. Det vill s?ga att om pejlaren ser teven s? kan hon s?ga detta i r?tten och f?modligen vinna ocks?. Men om hon varken h?r eller ser teven s? har http://www.treadmilll.cn