I have a simple script to test multiprocessing with arcpy, but the script hang indefinitely. The problem is with the import arcpy statement that seems to be a problem in the child processes. Other multiprocessing script without import arcpy are working correctly
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> multiprocessing
<SPAN class="keyword token">import</SPAN> os<SPAN class="punctuation token">,</SPAN> sys
multiprocessing<SPAN class="punctuation token">.</SPAN>set_executable<SPAN class="punctuation token">(</SPAN>os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>sys<SPAN class="punctuation token">.</SPAN>exec_prefix<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'python.exe'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">def</SPAN> <SPAN class="token function">testExists</SPAN><SPAN class="punctuation token">(</SPAN>data<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">print</SPAN> data
<SPAN class="keyword token">return</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>Exists<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"foo.gdb"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> __name__ <SPAN class="operator token">==</SPAN> <SPAN class="string token">'__main__'</SPAN><SPAN class="punctuation token">:</SPAN>
data <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">"foo.gdb"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"bar.gdb"</SPAN><SPAN class="punctuation token">]</SPAN>
pool <SPAN class="operator token">=</SPAN> multiprocessing<SPAN class="punctuation token">.</SPAN>Pool<SPAN class="punctuation token">(</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">)</SPAN>
result_arrays <SPAN class="operator token">=</SPAN> pool<SPAN class="punctuation token">.</SPAN>map<SPAN class="punctuation token">(</SPAN>testExists<SPAN class="punctuation token">,</SPAN> data<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN> result_arrays
pool<SPAN class="punctuation token">.</SPAN>close<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
pool<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN><SPAN class=""><BR /></SPAN><SPAN class=""></SPAN>Any idea what can cause the problem?