Mail Archives: djgpp-workers/2000/05/30/18:22:40
> The diffs against dosexec.c in djlsr203.zip are reproduced below, so
> if Someone (tm) can build Bash for Charles, please feel free...
Don't need to. All versions of Bash that I'm aware of do this already
unconditionally. Here's part of bshspawn.c that shows what Bash does:
/* disable interrupt */
old_enable = __dpmi_get_and_disable_virtual_interrupt_state ();
old_ctrl_c = __djgpp_set_ctrl_c (0);
/* check empty dpmi selectors */
selectors = dosutil_check_dpmi_selectors ();
__djgpp_exception_toggle();
errno = 0;
/* Run child process. If the filename doesn't have a period, add one
to prevent __dos_find_on_path from finding a different file than
intended. */
status = spawnve (P_WAIT, path, args, envp);
[snip]
/* disable interrupt */
__dpmi_get_and_disable_virtual_interrupt_state ();
__djgpp_exception_toggle();
/* free discarded dpmi selectors */
dosutil_free_dpmi_selectors (selectors);
/* Reset standard input */
dosutil_reset_console();
/* enable interrupt */
__djgpp_set_ctrl_c (old_ctrl_c);
__dpmi_get_and_enable_virtual_interrupt_state ();
In case you're wondering,
dosutil_check_dpmi_selectors/dosutil_free_dpmi_selectors is Daisuke's hack to
slow down the leaking of DPMI selectors.
- Raw text -