Lines Matching refs:newfd
522 #define EXPAND_DTABLE(newfd) \ in __spawni() argument
524 if ((unsigned int)newfd >= dtablesize \ in __spawni()
525 && newfd < _hurd_rlimits[RLIMIT_OFILE].rlim_cur) \ in __spawni()
528 NEW_TABLE (dtable, newfd); \ in __spawni()
529 NEW_ULINK_TABLE (ulink_dtable, newfd); \ in __spawni()
530 NEW_TABLE (dtable_cells, newfd); \ in __spawni()
531 dtablesize = newfd + 1; \ in __spawni()
533 ((unsigned int)newfd < dtablesize ? 0 : EMFILE); \ in __spawni()
535 #define NEW_TABLE(x, newfd) \ in __spawni() argument
536 do { __typeof (x) new_##x = __alloca ((newfd + 1) * sizeof (x[0])); \ in __spawni()
538 memset (&new_##x[dtablesize], 0, (newfd + 1 - dtablesize) * sizeof (x[0])); \ in __spawni()
540 #define NEW_ULINK_TABLE(x, newfd) \ in __spawni() argument
541 do { __typeof (x) new_##x = __alloca ((newfd + 1) * sizeof (x[0])); \ in __spawni()
548 memset (&new_##x[dtablesize], 0, (newfd + 1 - dtablesize) * sizeof (x[0])); \ in __spawni()
564 const int newfd = action->action.dup2_action.newfd; in __spawni() local
566 if (newfd < orig_dtablesize) in __spawni()
567 dtable_cloexec[newfd] = 0; in __spawni()
568 if (fd == newfd) in __spawni()
571 err = EXPAND_DTABLE (newfd); in __spawni()
578 do_close (newfd); in __spawni()
579 dtable_cells[newfd] = dtable_cells[fd]; in __spawni()
580 if (dtable_cells[newfd] != NULL) in __spawni()
581 dtable[newfd] = _hurd_port_get (dtable_cells[newfd], in __spawni()
582 &ulink_dtable[newfd]); in __spawni()
585 dtable[newfd] = dtable[fd]; in __spawni()