|
|
- Index: bash-4.4/jobs.c
- ===================================================================
- --- bash-4.4.orig/jobs.c
- +++ bash-4.4/jobs.c
- @@ -453,6 +453,21 @@ cleanup_the_pipeline ()
- discard_pipeline (disposer);
- }
-
- +void
- +discard_last_procsub_child ()
- +{
- + PROCESS *disposer;
- + sigset_t set, oset;
- +
- + BLOCK_CHILD (set, oset);
- + disposer = last_procsub_child;
- + last_procsub_child = (PROCESS *)NULL;
- + UNBLOCK_CHILD (oset);
- +
- + if (disposer)
- + discard_pipeline (disposer);
- +}
- +
- struct pipeline_saver *
- alloc_pipeline_saver ()
- {
- Index: bash-4.4/jobs.h
- ===================================================================
- --- bash-4.4.orig/jobs.h
- +++ bash-4.4/jobs.h
- @@ -190,6 +190,7 @@ extern JOB **jobs;
- extern void making_children __P((void));
- extern void stop_making_children __P((void));
- extern void cleanup_the_pipeline __P((void));
- +extern void discard_last_procsub_child __P((void));
- extern void save_pipeline __P((int));
- extern PROCESS *restore_pipeline __P((int));
- extern void start_pipeline __P((void));
- Index: bash-4.4/patchlevel.h
- ===================================================================
- --- bash-4.4.orig/patchlevel.h
- +++ bash-4.4/patchlevel.h
- @@ -25,6 +25,6 @@
- regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
- looks for to find the patch level (for the sccs version string). */
-
- -#define PATCHLEVEL 3
- +#define PATCHLEVEL 4
-
- #endif /* _PATCHLEVEL_H_ */
- Index: bash-4.4/subst.c
- ===================================================================
- --- bash-4.4.orig/subst.c
- +++ bash-4.4/subst.c
- @@ -5808,10 +5808,7 @@ process_substitute (string, open_for_rea
- {
- #if defined (JOB_CONTROL)
- if (last_procsub_child)
- - {
- - discard_pipeline (last_procsub_child);
- - last_procsub_child = (PROCESS *)NULL;
- - }
- + discard_last_procsub_child ();
- last_procsub_child = restore_pipeline (0);
- #endif
-
|