More timely abort of find jobs if the result pager gets aborted
This commit is contained in:
parent
4d1d3732be
commit
11fe78ffb1
@ -9855,6 +9855,9 @@ int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
char *name= NULL, *path= NULL, *sfe= NULL;
|
char *name= NULL, *path= NULL, *sfe= NULL;
|
||||||
char *abs_dir_path_data= NULL, *abs_path= NULL;
|
char *abs_dir_path_data= NULL, *abs_path= NULL;
|
||||||
|
|
||||||
|
if(xorriso->request_to_abort)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
|
|
||||||
sfe= malloc(5*SfileadrL);
|
sfe= malloc(5*SfileadrL);
|
||||||
name= malloc(SfileadrL);
|
name= malloc(SfileadrL);
|
||||||
path= malloc(SfileadrL);
|
path= malloc(SfileadrL);
|
||||||
@ -9901,9 +9904,9 @@ int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
if(ret>0) {
|
if(ret>0) {
|
||||||
ret= Xorriso_findx_action(xorriso, job, abs_dir_path, dir_path, depth,
|
ret= Xorriso_findx_action(xorriso, job, abs_dir_path, dir_path, depth,
|
||||||
flag&1);
|
flag&1);
|
||||||
|
if(xorriso->request_to_abort)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
if(ret<=0) {
|
if(ret<=0) {
|
||||||
if(xorriso->request_to_abort)
|
|
||||||
goto ex;
|
|
||||||
if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0)
|
if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
@ -9963,9 +9966,9 @@ int Xorriso_findx(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
goto ex;
|
goto ex;
|
||||||
if(ret>0) {
|
if(ret>0) {
|
||||||
ret= Xorriso_findx_action(xorriso, job, abs_path, path, depth, flag&1);
|
ret= Xorriso_findx_action(xorriso, job, abs_path, path, depth, flag&1);
|
||||||
|
if(xorriso->request_to_abort)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
if(ret<=0) {
|
if(ret<=0) {
|
||||||
if(xorriso->request_to_abort)
|
|
||||||
goto ex;
|
|
||||||
if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0)
|
if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0)
|
||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2009.08.13.203718"
|
#define Xorriso_timestamP "2009.08.14.102355"
|
||||||
|
@ -7870,6 +7870,9 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
int node_count, node_idx;
|
int node_count, node_idx;
|
||||||
char *path= NULL, *abs_path= NULL;
|
char *path= NULL, *abs_path= NULL;
|
||||||
|
|
||||||
|
if(xorriso->request_to_abort)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
|
|
||||||
path= malloc(SfileadrL);
|
path= malloc(SfileadrL);
|
||||||
abs_path= malloc(SfileadrL);
|
abs_path= malloc(SfileadrL);
|
||||||
if(path==NULL || abs_path==NULL) {
|
if(path==NULL || abs_path==NULL) {
|
||||||
@ -7928,6 +7931,8 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
flag&(1|2));
|
flag&(1|2));
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
if(xorriso->request_to_abort)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
if(ret==2) {
|
if(ret==2) {
|
||||||
/* re-determine dir_node in case it has a new persona */
|
/* re-determine dir_node in case it has a new persona */
|
||||||
ret= Xorriso_node_from_path(xorriso, volume, path, &iso_node, 1);
|
ret= Xorriso_node_from_path(xorriso, volume, path, &iso_node, 1);
|
||||||
@ -7968,7 +7973,7 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
&node_array, &node_count, &node_idx, &node, 0);
|
&node_array, &node_count, &node_idx, &node, 0);
|
||||||
if(ret<0)
|
if(ret<0)
|
||||||
goto ex;
|
goto ex;
|
||||||
if(ret==0 || xorriso->request_to_abort)
|
if(ret==0)
|
||||||
break;
|
break;
|
||||||
name= (char *) iso_node_get_name(node);
|
name= (char *) iso_node_get_name(node);
|
||||||
ret= Xorriso_make_abs_adr(xorriso, dir_path, name, path, 4);
|
ret= Xorriso_make_abs_adr(xorriso, dir_path, name, path, 4);
|
||||||
@ -7999,6 +8004,8 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
|||||||
goto ex;
|
goto ex;
|
||||||
ret= Xorriso_findi_action(xorriso, job, iter, mem,
|
ret= Xorriso_findi_action(xorriso, job, iter, mem,
|
||||||
abs_path, path, node, depth, 1|(flag&2));
|
abs_path, path, node, depth, 1|(flag&2));
|
||||||
|
if(xorriso->request_to_abort)
|
||||||
|
{ret= 0; goto ex;}
|
||||||
if(ret==2) { /* node has been deleted */
|
if(ret==2) { /* node has been deleted */
|
||||||
/* re-determine node in case it has a new persona */
|
/* re-determine node in case it has a new persona */
|
||||||
if(volume==NULL) {
|
if(volume==NULL) {
|
||||||
|
Loading…
Reference in New Issue
Block a user