<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/shell, branch wget-post-file</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=wget-post-file</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=wget-post-file'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2021-09-26T07:59:03+00:00</updated>
<entry>
<title>ash: prevent exit if background jobs are present</title>
<updated>2021-09-26T07:59:03+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-26T07:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=e19dd7d618434be1336727a5113c1432ac3c6573'/>
<id>urn:sha1:e19dd7d618434be1336727a5113c1432ac3c6573</id>
<content type='text'>
If the user exits from an interactive shell while background jobs
are running the console window won't terminate because the
background jobs are still connected to it.

Warn the user when this happens.  They can either shut down the
background jobs themselves or close the console window.

This is implemented by repurposing the stoppedjobs() function
which is otherwise unused in the WIN32 port.
</content>
</entry>
<entry>
<title>ash: associate command names with jobs</title>
<updated>2021-09-26T07:50:00+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-26T07:50:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1403d81c4ad4531187644005fa73789d0f7cb606'/>
<id>urn:sha1:1403d81c4ad4531187644005fa73789d0f7cb606</id>
<content type='text'>
Reporting of background jobs is more useful if the commands
associated with the jobs are displayed.

Also, allow the kill builtin to kill jobs by matching their
command names.  This was previously disabled by commit f67224cb2
(ash: restrict valid job ids).
</content>
</entry>
<entry>
<title>ash: additional support for background jobs</title>
<updated>2021-09-26T07:33:36+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-26T07:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=010abea6f548a367d0d89998aa6c38a45d756c0d'/>
<id>urn:sha1:010abea6f548a367d0d89998aa6c38a45d756c0d</id>
<content type='text'>
The rationale for the jobs builtin in POSIX notes:

   The jobs utility is not dependent on the job control option,
   as are the seemingly related bg and fg utilities because jobs
   is useful for examining background jobs, regardless of the
   condition of job control. When the user has invoked a set +m
   command and job control has been turned off, jobs can still be
   used to examine the background jobs associated with that current
   session. Similarly, kill can then be used to kill background
   jobs with kill %&lt;background job number&gt;.

Although ash in busybox-w32 doesn't support job control it can
handle background jobs.

Allow the ASH_JOB_CONTROL setting to enable certain features:

- the jobs builtin;
- killing of jobs by job id in the kill builtin;
- monitoring of changes to jobs.

Since process groups aren't supported it's necessary to kill the
processes constituting a background job individually.  When doing
this we ask kill(2) to kill all children too.
</content>
</entry>
<entry>
<title>ash: fix FUNCNAME issue</title>
<updated>2021-09-22T09:18:42+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-22T09:18:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bcb1d0c76d6e665133d1f878590af2006b31de6e'/>
<id>urn:sha1:bcb1d0c76d6e665133d1f878590af2006b31de6e</id>
<content type='text'>
Commit c13f77823 (ash: adjust reinitvar() to allow for FUNCNAME)
was incomplete.  It didn't correctly pass the funcname variable
during forkshell.  This resulted in horrible failure when running
a function like:

   f() { (echo $FUNCNAME); }
</content>
</entry>
<entry>
<title>ash: improve signal handling</title>
<updated>2021-09-21T12:24:00+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-21T11:52:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=df34f5e92b1d10f0bb858d2ea6e8c249e87ac593'/>
<id>urn:sha1:df34f5e92b1d10f0bb858d2ea6e8c249e87ac593</id>
<content type='text'>
Allow waitpid() to detect SIGTERM/SIGKILL by checking the (Windows)
status returned by GetExitCodeProcess() and updating the Unix
status to suit.  This allows ash to detect when a process has been
'signalled'.

Provide our own implementation of strsignal(3) which returns
expanded text for SIGTERM/SIGKILL.

Costs 192 bytes.
</content>
</entry>
<entry>
<title>ash: avoid problems with non-zero DEBUG</title>
<updated>2021-09-17T17:05:16+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-17T16:57:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5f652529e4e62e9b98ccded179e773c5ae2fac55'/>
<id>urn:sha1:5f652529e4e62e9b98ccded179e773c5ae2fac55</id>
<content type='text'>
When DEBUG had a non-zero value the preprocessor complained that
'close' was being redefined.  In a WIN32 build it's set to
'mingw_close'.  Since this isn't necessary in ash it can be
undefined without ill effects.

DEBUG can be set to 1 or 2.  In a WIN32 build this value was being
used to calculate indices for optlist[], giving incorrect results.
Using (DEBUG != 0) instead fixes this.
</content>
</entry>
<entry>
<title>ash: adjust reinitvar() to allow for FUNCNAME</title>
<updated>2021-09-17T11:54:21+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-17T11:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c13f7782351a4b6ff20f0c0504cb1caab81ea331'/>
<id>urn:sha1:c13f7782351a4b6ff20f0c0504cb1caab81ea331</id>
<content type='text'>
The new FUNCNAME variable, like LINENO, needs special treatment
during forkshell.
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2021-09-17T10:38:52+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-17T10:36:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52'/>
<id>urn:sha1:46299d0c4f4c9a4bbad38bbbe26f196e1bccdc52</id>
<content type='text'>
Disable FEATURE_TIMEZONE for now.
</content>
</entry>
<entry>
<title>ash: introduce bash-like $FUNCNAME</title>
<updated>2021-09-15T17:31:44+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-15T17:31:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=704c596563a5b4da4349b272d0c9c71aacea34a7'/>
<id>urn:sha1:704c596563a5b4da4349b272d0c9c71aacea34a7</id>
<content type='text'>
Patch adapted from Roberto A. Foglietta &lt;roberto.foglietta@gmail.com&gt;
work.

function                                             old     new   delta
lookupvar                                            106     150     +44
evalfun                                              369     408     +39
ash_main                                            1218    1242     +24
varinit_data                                         156     168     +12
.rodata                                           104162  104172     +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 129/0)             Total: 129 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: let ignoreeof only affect interactive shells</title>
<updated>2021-09-14T06:25:58+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-09-12T10:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5726df5f94f973eaa097d9853ceff2bd6b748d97'/>
<id>urn:sha1:5726df5f94f973eaa097d9853ceff2bd6b748d97</id>
<content type='text'>
Commit fb7d6c89 from Harald van Dijk's gwsh variant of ash
(https://github.com/hvdijk/gwsh):

    ignoreeof is documented as only having an effect for interactive shells,
    but is implemented as having mostly the same effect for interactive
    shells as for non-interactive shells. Change the implementation to match
    the documentation.

    Test case:

      $SHELL -o ignoreeof /dev/null

function                                             old     new   delta
cmdloop                                              359     361      +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 2/0)                 Total: 2 bytes

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
