ž {yMa˜9c @sâddlZddlZddlZddlZddlmZmZdddddgZdd„Zdd l m Z dd l m Z Gd d„de ƒZ d d „ZGdd„dƒZe jeeƒjƒeƒdd„Ze jeejƒeƒe jeejƒeƒyddlmZWnek r>Yn)Xdd„Zdd„Ze jeeƒejdkr¡ejZej Z Gdd„de!ƒZ"n+ddl#Z#ddl$Z$ddl%Z%ddl m&Z&m'Z'ddd„Z)dZ*ejdkoe+edd0ƒZ-ej.j/ƒj0dƒZ1e%j2Z e1rSej3j4ej5dƒa6n ej.a6d d!„Z7dd0d"d„ZGd#d„de!ƒZ"d$d%„Z8d&d'„Z9d(d)„Z:d*d+„Z;d,d-„Z<gZ=d.d/„Z>dS(1iN(uutiluprocessuPopenuassert_spawningu duplicateucloseuForkingPicklercCs,tjƒs(tdt|ƒjƒ‚ndS(NuF%s objects should only be shared between processes through inheritance(uPopenuthread_is_spawningu RuntimeErrorutypeu__name__(uself((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyuassert_spawnings (uPickler(udispatch_tablecBs8|EeZdZiZdd„Zedd„ƒZdS(uForkingPicklercGs6tj||Œtjƒ|_|jj|jƒdS(N(uPickleru__init__udispatch_tableucopyuupdateu_extra_reducers(uselfuargs((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyu__init__'suForkingPickler.__init__cCs||j|Øsu!Popen.__init__..u inheritableuwbuclosefdu %siiT(ujoinuget_command_lineuget_preparation_datau_nameuosupipeu duplicateumsvcrtu get_osfhandleuTrueucloseuopenu_winapiu CreateProcessu _python_exeuNoneu CloseHandleupidu returncodeu_handleuintusentineluutiluFinalizeuPopenu_tlsuprocess_handleudumpuHIGHEST_PROTOCOL( uselfu process_objucmdu prep_dataurfduwfdurhandleuto_childuhpuhtupidutid((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyu__init__×s, '    uPopen.__init__cCsttjddƒdk S(Nuprocess_handle(ugetattruPopenu_tlsuNone(((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyuthread_is_spawningüsuPopen.thread_is_spawningcCst|tjjƒS(N(u duplicateuPopenu_tlsuprocess_handle(uhandle((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyuduplicate_for_childsuPopen.duplicate_for_childcCs¯|jdkr¨|dkr'tj}ntdt|ddƒƒ}tjt|jƒ|ƒ}|tjkr¨tj |jƒ}|t kr™t j }n||_q¨n|jS(Niiègà?( u returncodeuNoneu_winapiuINFINITEumaxuintuWaitForSingleObjectu_handleu WAIT_OBJECT_0uGetExitCodeProcessu TERMINATEusignaluSIGTERM(uselfutimeoutumsecsuresucode((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyuwaits    u Popen.waitcCs|jddƒS(Nutimeouti(uwait(uself((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyupollsu Popen.pollc Csf|jdkrbytjt|jƒtƒWqbtk r^|jddƒdkrZ‚nYqbXndS(Nutimeoutgð?( u returncodeuNoneu_winapiuTerminateProcessuintu_handleu TERMINATEuOSErroruwait(uself((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyu terminates  uPopen.terminateN(u__name__u __module__u __qualname__u__doc__u_threadu_localu_tlsu__init__u staticmethoduthread_is_spawninguduplicate_for_childuNoneuwaitupollu terminate(u __locals__((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyuPopenÑs  % cCs.t|ƒdkr&|ddkr&dSdSdS(uE Return whether commandline indicates we are forking iiu--multiprocessing-forkNTF(ulenuTrueuFalse(uargv((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyu is_forking#s"u is_forkingcCs'ttjƒr#tƒtjƒndS(uM Run code for process object if this in not the main process N(u is_forkingusysuargvumainuexit(((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyufreeze_support.sufreeze_supportcCstttjƒddƒr'tdƒ‚nttddƒrFtjdgSd}tjƒ}t g|d|dgSdS( uR Returns prefix of command line used for spawning a child process u _inheritingu÷ Attempt to start a new process before the current process has finished its bootstrapping phase. This probably means that you are on Windows and you have forgotten to use the proper idiom in the main module: if __name__ == '__main__': freeze_support() ... The "freeze_support()" line can be omitted if the program is not going to be frozen to produce a Windows executable.ufrozenu--multiprocessing-forku0from multiprocessing.forking import main; main()u-cNF( ugetattruprocessucurrent_processuFalseu RuntimeErrorusysu executableuutilu_args_from_interpreter_flagsu _python_exe(uproguopts((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyuget_command_line7s   uget_command_linecCs¡ttjdƒ}tj|tjƒ}tj|dƒ}dt j ƒ_ t |ƒ}t |ƒt |ƒ}dt j ƒ_ |jƒ|jƒ}tj|ƒdS(u? Run code specified by data received over pipe iurbNiÿÿÿÿTF(uintusysuargvumsvcrtuopen_osfhandleuosuO_RDONLYufdopenuTrueuprocessucurrent_processu _inheritinguloaduprepareuFalseucloseu _bootstrapuexit(uhandleufdu from_parentupreparation_datauselfuexitcode((u</opt/alt/python33/lib64/python3.3/multiprocessing/forking.pyumainRs     umainc Cs.ddlm}m}td|dtjdtjd|dtjdtj ƒj ƒ}|dk rt|j ƒ|d s`            H   !    R   "