@@ -333,64 +333,3 @@ fn wait_arg_job(
333333
334334 Ok ( ( 127 , false ) )
335335}
336-
337- fn wait_all ( core : & mut ShellCore ) -> Result < i32 , ExecError > {
338- let mut exit_status = 0 ;
339- let mut remove_list = vec ! [ ] ;
340- for pos in 0 ..core. job_table . len ( ) {
341- let result = core. job_table [ pos] . nonblock_wait ( & core. sigint ) ?;
342- exit_status = result. 0 ;
343- if result. 1 {
344- remove_list. push ( pos) ;
345- }
346- }
347-
348- for pos in remove_list. into_iter ( ) . rev ( ) {
349- remove ( core, pos) ;
350- }
351-
352- Ok ( exit_status)
353- }
354-
355- /*
356- fn wait_n(
357- core: &mut ShellCore,
358- args: &mut Vec<String>,
359- var_name: &Option<String>,
360- f_opt: bool,
361- ) -> Result<i32, ExecError> {
362- let mut jobs = arg::consume_with_subsequents("-n", args);
363- jobs.remove(0);
364- if jobs.is_empty() {
365- return Ok(wait_next(core, &[], var_name, f_opt)?.0);
366- }
367-
368- let mut ids = vec![];
369- for j in &jobs {
370- if j.starts_with("%") {
371- ids.append(&mut jobspec_to_array_poss(core, j));
372- } else {
373- for (i, job) in core.job_table.iter_mut().enumerate() {
374- if job.pids[0].to_string() == *j {
375- ids.push(i);
376- }
377- }
378- }
379- }
380- ids.sort();
381- ids.dedup();
382- let mut ans = -1;
383-
384- for _ in 0..ids.len() {
385- let tmp = match ans {
386- -1 => wait_next(core, &ids, var_name, f_opt)?,
387- _ => wait_next(core, &ids, &None, f_opt)?,
388- };
389-
390- if tmp.1 && ans == -1 {
391- ans = tmp.0;
392- }
393- }
394- Ok(ans)
395- }
396- */
0 commit comments