@@ -33,14 +33,23 @@ ClassMethod ReceiveChunk(timeout As %Numeric = -1) As %String
3333{
3434 set flag = " "
3535 set str = " "
36+ set status = -1
3637 for {
3738 set message = $system .Event .WaitMsg (" " , $Case (timeout = -1 , 1 : 1 , :timeout ))
39+ set status = $LISTGET (message , 1 )
3840 set data = $LISTGET (message , 2 )
41+ if (status <= 0 ) {
42+ if ($ZPARENT '= 0 ) && ('$data (^$Job ($ZPARENT ))) {
43+ do $system .Process .Terminate ($JOB , 0 )
44+ return $LISTBUILD (flag , str , -1 )
45+ }
46+ if ($ZCHILD '= 0 ) && ('$data (^$Job ($ZCHILD ))) {
47+ return $LISTBUILD (flag , str , -1 )
48+ }
49+ }
3950 if (data = " " ) && (timeout = 0 ) quit
40- set status = $LISTGET (message , 1 )
4151 if (status <= 0 ) {
42- do :'$data (^$Job ($ZPARENT )) $system .Process .Terminate ($JOB , 0 )
43- if (timeout = 0 ) set timeout = 1
52+ set :(timeout = 0 ) timeout = 1
4453 continue
4554 }
4655 set flag = $LISTGET (data , 1 )
@@ -49,7 +58,7 @@ ClassMethod ReceiveChunk(timeout As %Numeric = -1) As %String
4958 if (timeout = 0 ) set timeout = 1
5059 quit :($LENGTH (m ) '= ..#ChunkSize)
5160 }
52- return $LISTBUILD (flag , str )
61+ return $LISTBUILD (flag , str , status )
5362}
5463
5564/// Returns the contents of the proxy object to the current device in JSON format.<br/>
0 commit comments