mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 11:26:12 +08:00
cat and cp need to exit if a signal is recieved
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3323 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -1438,7 +1438,7 @@
|
|||||||
* Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
|
* Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
|
||||||
fixed several errors in the code identified by the tool.
|
fixed several errors in the code identified by the tool.
|
||||||
|
|
||||||
5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
5.18 2011-02-27 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
|
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
|
||||||
- Lost SYNACK causes connection reset
|
- Lost SYNACK causes connection reset
|
||||||
@@ -1476,3 +1476,7 @@
|
|||||||
mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
|
mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
|
||||||
this port remains untested until I figure out this BDM / Code Warrior
|
this port remains untested until I figure out this BDM / Code Warrior
|
||||||
and paged build thing
|
and paged build thing
|
||||||
|
* Added a new 'kill' command to NSH that will support sending signals to
|
||||||
|
running NuttX tasks.
|
||||||
|
|
||||||
|
5.19 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|||||||
+59
-63
@@ -800,31 +800,43 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p><b>nuttx-5.17 Release Notes</b>:
|
<p><b>nuttx-5.18 Release Notes</b>:
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The 64<sup>th</sup> release of NuttX, Version 5.17, was made on January 19, 2010 and is available for download from the
|
The 65<sup>th</sup> release of NuttX, Version 5.18, was made on February 27, 2011 and is available for download from the
|
||||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a> website.
|
<a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website.
|
||||||
The change log associated with the release is available <a href="#currentrelease">here</a>.
|
The change log associated with the release is available <a href="#currentrelease">here</a>.
|
||||||
Unreleased changes after this release are available in SVN.
|
Unreleased changes after this release are available in SVN.
|
||||||
These unreleased changes are listed <a href="#pendingchanges">here</a>.
|
These unreleased changes are listed <a href="#pendingchanges">here</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
This release follows close on the heels of the 5.16 release and extends the USB host capabilities first introduced in that version.
|
This is first release from the new NuttX SVN repository.
|
||||||
<p>
|
This release is made primarily to keep the release tarball in synchronization with SVN.
|
||||||
|
Many smaller changes have been made as identified in the ChangeLog.
|
||||||
|
Headlines would include:
|
||||||
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
The LPC17xx USB host controller driver was extended to (1) add support for low-speed devices,
|
Incorporate several important uIP patches -- including the well known patch to handle missing SYNACK.
|
||||||
(2) handle multiple concurrent transfers on different endpoints (still only one TD per endpoint), and
|
|
||||||
(3) handle periodic interrupt endpoint types.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Add a USB host HID keyboard class driver.
|
The Freescale mc8s12ne64 port is code complete but testing has not yet begun due to toolchain issues.
|
||||||
Now you can connect a standard USB keyboard to NuttX and receive keyboard input for an application.
|
Added support for the Future Electronics Group NE64 Badge board.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Added support for a new STM32 board, the ISOTEL NetClamps VSN V1.2 ready2go sensor network platform.
|
||||||
|
This board is based on a STM32F103RET6 and includes some interesting power saving/clock control extensions.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
USB host support expanded to handle vendor specific USB devices.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Incorporated the LUFA HID parser.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Various bugfix as detailed in the ChangeLog
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
|
||||||
And other changes as detailed in the ChangeLog.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<table width ="100%">
|
<table width ="100%">
|
||||||
<tr bgcolor="#e4e4e4">
|
<tr bgcolor="#e4e4e4">
|
||||||
@@ -1999,56 +2011,7 @@ Other memory:
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<ul><pre>
|
<ul><pre>
|
||||||
nuttx-5.17 2011-01-19 Gregory Nutt <spudmonkey@racsa.co.cr>
|
nuttx-5.18 2011-02-27 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
* include/nuttx/usb -- rename usb_storage.h to storage.h.
|
|
||||||
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices.
|
|
||||||
* drivers/usbhost/usbhost_skeleton.c -- Template for new class drivers
|
|
||||||
* include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c -- New
|
|
||||||
files for HID keyboard support.
|
|
||||||
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Will now handle multiple
|
|
||||||
concurrent transfers on different endpoints (still only one TD per
|
|
||||||
endpoint). All methods are protected from re-entrancy; lots of re-
|
|
||||||
structuring in preparation for interrupt endpoint support.
|
|
||||||
* arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for periodic
|
|
||||||
interrupt transfers.
|
|
||||||
* examples/hidkbd - Added a simple test for the USB host HID keyboard
|
|
||||||
class driver.
|
|
||||||
* configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the
|
|
||||||
USB host HID keyboard class driver test for the LPC17xx.
|
|
||||||
* Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
|
|
||||||
fixed several errors in the code identified by the tool.
|
|
||||||
|
|
||||||
pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
||||||
|
|
||||||
* Updated to use standard C99 types in stdint.h and
|
|
||||||
stdbool.h. This change was necessary for compatibility
|
|
||||||
with NuttX-5.0 (any beyond).
|
|
||||||
|
|
||||||
buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr>
|
|
||||||
|
|
||||||
* configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4
|
|
||||||
* configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for
|
|
||||||
arm926
|
|
||||||
* toolchain/gdb/gdb.mk - Remove ncurses dependency from gdb_target target.
|
|
||||||
* toolchain/gdb/gdb.mk - Added --disable-werror to GDB configuration line.
|
|
||||||
GDB 6.8 won't build because the tarbal was released with -Werror enabled and
|
|
||||||
the build stops on the first warning.
|
|
||||||
* Add support for Freescale m9s12x using binutils 2.18 and gcc 3.3.6 and
|
|
||||||
patches available from http://www.msextra.com/tools courtesy of James
|
|
||||||
Cortina. Add configs/m9x12x-defconfig-3.3.6.
|
|
||||||
</pre></ul>
|
|
||||||
|
|
||||||
<table width ="100%">
|
|
||||||
<tr bgcolor="#e4e4e4">
|
|
||||||
<td>
|
|
||||||
<a name="pendingchanges">Unreleased Changes</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<ul><pre>
|
|
||||||
nuttx-5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
||||||
|
|
||||||
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
|
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
|
||||||
- Lost SYNACK causes connection reset
|
- Lost SYNACK causes connection reset
|
||||||
@@ -2086,6 +2049,39 @@ nuttx-5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|||||||
mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
|
mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
|
||||||
this port remains untested until I figure out this BDM / Code Warrior
|
this port remains untested until I figure out this BDM / Code Warrior
|
||||||
and paged build thing
|
and paged build thing
|
||||||
|
* Added a new 'kill' command to NSH that will support sending signals to
|
||||||
|
running NuttX tasks.
|
||||||
|
|
||||||
|
pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
* Updated to use standard C99 types in stdint.h and
|
||||||
|
stdbool.h. This change was necessary for compatibility
|
||||||
|
with NuttX-5.0 (any beyond).
|
||||||
|
|
||||||
|
buildroot-1.9 2011-02-10 <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
* configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4
|
||||||
|
* configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for
|
||||||
|
arm926
|
||||||
|
* toolchain/gdb/gdb.mk - Remove ncurses dependency from gdb_target target.
|
||||||
|
* toolchain/gdb/gdb.mk - Added --disable-werror to GDB configuration line.
|
||||||
|
GDB 6.8 won't build because the tarbal was released with -Werror enabled and
|
||||||
|
the build stops on the first warning.
|
||||||
|
* Add support for Freescale m9s12x using binutils 2.18 and gcc 3.3.6 and
|
||||||
|
patches available from http://www.msextra.com/tools courtesy of James
|
||||||
|
Cortina. Add configs/m9x12x-defconfig-3.3.6.
|
||||||
|
</pre></ul>
|
||||||
|
|
||||||
|
<table width ="100%">
|
||||||
|
<tr bgcolor="#e4e4e4">
|
||||||
|
<td>
|
||||||
|
<a name="pendingchanges">Unreleased Changes</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<ul><pre>
|
||||||
|
nuttx-5.19 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
pascal-2.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
pascal-2.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
|||||||
+23
-1
@@ -1658,7 +1658,7 @@ the NuttX Porting Guide:
|
|||||||
nuttx-5.17
|
nuttx-5.17
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
|
||||||
The 64th release of NuttX, Version 5.17, was made on January 19, 2010 and is
|
The 64th release of NuttX, Version 5.17, was made on January 19, 2011 and is
|
||||||
available for download from the SourceForge website. This release follows
|
available for download from the SourceForge website. This release follows
|
||||||
close on the heels of the 5.16 release and extends the USB host capabilities
|
close on the heels of the 5.16 release and extends the USB host capabilities
|
||||||
first introduced in that version.
|
first introduced in that version.
|
||||||
@@ -1672,3 +1672,25 @@ first introduced in that version.
|
|||||||
application.
|
application.
|
||||||
|
|
||||||
And other changes as detailed in the ChangeLog.
|
And other changes as detailed in the ChangeLog.
|
||||||
|
|
||||||
|
nuttx-5.18
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
The 65th release of NuttX, Version 5.18, was made on February 27, 2011 and is
|
||||||
|
available for download from the SourceForge website. This is first release from
|
||||||
|
the new NuttX SVN repository. This release is made primarily to keep the release
|
||||||
|
tarball in synchronization with SVN. Many smaller changes have been made as
|
||||||
|
identified in the ChangeLog. Headlines would include:
|
||||||
|
|
||||||
|
* Incorporate several important uIP patches -- including the well known
|
||||||
|
patch to handle missing SYNACK.
|
||||||
|
* The Freescale mc8s12ne64 port is code complete but testing has not yet
|
||||||
|
begun due to toolchain issues. Added support for the Future Electronics
|
||||||
|
Group NE64 Badge board.
|
||||||
|
* Added support for a new STM32 board, the ISOTEL NetClamps VSN V1.2 ready2go
|
||||||
|
sensor network platform. This board is based on a STM32F103RET6 and
|
||||||
|
includes some interesting power saving/clock control extensions.
|
||||||
|
* USB host support expanded to handle vendor specific USB devices.
|
||||||
|
* Incorporated the LUFA HID parser.
|
||||||
|
* Various bugfix as detailed in the ChangeLog
|
||||||
|
|
||||||
|
|||||||
@@ -286,6 +286,9 @@ extern const char g_fmtcontext[];
|
|||||||
extern const char g_fmtcmdfailed[];
|
extern const char g_fmtcmdfailed[];
|
||||||
extern const char g_fmtcmdoutofmemory[];
|
extern const char g_fmtcmdoutofmemory[];
|
||||||
extern const char g_fmtinternalerror[];
|
extern const char g_fmtinternalerror[];
|
||||||
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
|
extern const char g_fmtsignalrecvd[];
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
|
|||||||
+49
-14
@@ -432,14 +432,21 @@ int cmd_cat(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
|
|
||||||
if (nbytesread < 0)
|
if (nbytesread < 0)
|
||||||
{
|
{
|
||||||
/* EINTR is not an error */
|
/* EINTR is not an error (but will stop stop the cat) */
|
||||||
|
|
||||||
if (errno != EINTR)
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
|
if (errno == EINTR)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
|
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
|
||||||
ret = ERROR;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = ERROR;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for data successfully read */
|
/* Check for data successfully read */
|
||||||
@@ -453,14 +460,20 @@ int cmd_cat(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
int n = write(1, buffer, nbytesread);
|
int n = write(1, buffer, nbytesread);
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
{
|
{
|
||||||
/* EINTR is not an error */
|
/* EINTR is not an error (but will stop stop the cat) */
|
||||||
|
|
||||||
if (errno != EINTR)
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
|
if (errno == EINTR)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
|
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
|
||||||
ret = ERROR;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
ret = ERROR;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -593,11 +606,22 @@ int cmd_cp(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
ret = OK;
|
ret = OK;
|
||||||
goto errout_with_wrfd;
|
goto errout_with_wrfd;
|
||||||
}
|
}
|
||||||
else if (nbytesread < 0 && errno != EINTR)
|
else if (nbytesread < 0)
|
||||||
{
|
{
|
||||||
/* Read error */
|
/* EINTR is not an error (but will still stop the copy) */
|
||||||
|
|
||||||
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
|
if (errno == EINTR)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
/* Read error */
|
||||||
|
|
||||||
|
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "read", NSH_ERRNO);
|
||||||
|
}
|
||||||
goto errout_with_wrfd;
|
goto errout_with_wrfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -610,11 +634,22 @@ int cmd_cp(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
{
|
{
|
||||||
nbytesread -= nbyteswritten;
|
nbytesread -= nbyteswritten;
|
||||||
}
|
}
|
||||||
else if (errno != EINTR)
|
else
|
||||||
{
|
{
|
||||||
/* Read error */
|
/* EINTR is not an error (but will still stop the copy) */
|
||||||
|
|
||||||
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
|
if (errno == EINTR)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtsignalrecvd, argv[0]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
/* Read error */
|
||||||
|
|
||||||
|
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "write", NSH_ERRNO);
|
||||||
|
}
|
||||||
goto errout_with_wrfd;
|
goto errout_with_wrfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -358,6 +358,9 @@ const char g_fmtcmdfailed[] = "nsh: %s: %s failed: %d\n";
|
|||||||
#endif
|
#endif
|
||||||
const char g_fmtcmdoutofmemory[] = "nsh: %s: out of memory\n";
|
const char g_fmtcmdoutofmemory[] = "nsh: %s: out of memory\n";
|
||||||
const char g_fmtinternalerror[] = "nsh: %s: Internal error\n";
|
const char g_fmtinternalerror[] = "nsh: %s: Internal error\n";
|
||||||
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
|
const char g_fmtsignalrecvd[] = "nsh: %s: Signal received\n";
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
|
|||||||
Reference in New Issue
Block a user