Commit Graph

64 Commits

Author SHA1 Message Date
Nathan Hartman
538c757340 apps/examples/webserver: nxstyle fixes
apps/examples/webserver/webserver_main.c:

    * Fix nxstyle errors.
2021-01-03 21:10:38 -06:00
Nathan Hartman
819454ee6e apps/examples/webserver: When NSH app, allow terminating
The examples/webserver app can be built in two modes:

    (1) in standalone mode, or
    (2) as a NSH built-in app.

When run in standalone mode, the webserver program is responsible for
bringing up the network (including DHCP if configured).  Also, the
webserver program must never exit, so if httpd fails (i.e., if
httpd_listen() returns), webserver_main() goes into an endless loop.

When run as a NSH built-in app, network bring-up is the responsibility
of other processes and the webserver program assumes the network is
already properly configured when it starts.  Also, if httpd_listen()
returns, the webserver program should terminate.

Prior to this change, the webserver program would *not* terminate,
even when running as a NSH built-in app.  For example:

    nsh> webserver &
    webserver [6:100]
    nsh> Starting webserver

    nsh> kill -9 6
    nsh> webserver_main: Still running
    nsh> webserver_main: Still running
    nsh> webserver_main: Still running
    nsh> webserver_main: Still running

The line "webserver_main: Still running" would be forever printed
every 3 seconds, however httpd_listen() is no longer running and the
webserver is not functional.

This change makes the webserver play nicely when running as a NSH
built-in app.  With this change applied:

    nsh> webserver &
    webserver [6:100]
    nsh> Starting webserver

    nsh> kill -9 6
    nsh> webserver_main: Exiting

apps/examples/webserver/webserver_main.c:

    * main(): Infer from CONFIG_NSH_BUILTIN_APPS if this is a
      standalone program or a NSH built-in app.  (See [1], where
      similar logic was added to decide whether to do network bring-up
      or not.)  If standalone, run forever as before.  If built-in
      app, exit when httpd terminates.

References:
[1] Commit 3a21b0b222
2021-01-03 21:10:38 -06:00
Xiang Xiao
deaa6c5b7b build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs
and move NUTTXLIB defintion to the common place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-09 15:17:37 -03:00
Xiang Xiao
69f013e74e build: Remve the unnecessary .gitignore
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-23 15:56:35 +01:00
Xiang Xiao
ead498a788 build: Remove the workaround for the inexistence of .config/Make.defs
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-21 17:43:42 +01:00
YAMAMOTO Takashi
c304624fab Replace "STACKSIZE = 2048" with CONFIG_DEFAULT_TASK_SIZE
For now, I left the following instances because it isn't
clear to me why they are using the different values.
Maybe they need one-by-one inspection.

    examples/igmp/Makefile:STACKSIZE = 1024
    examples/powerled/Makefile:STACKSIZE = 1024
    examples/powermonitor/Makefile:STACKSIZE = 768
    examples/relays/Makefile:STACKSIZE = 512
    examples/smps/Makefile:STACKSIZE = 1024
    graphics/screenshot/Makefile:STACKSIZE = 4096
    system/flash_eraseall/Makefile:STACKSIZE = 1024
    testing/cxxtest/Makefile:STACKSIZE = 4096
    testing/smart_test/Makefile:STACKSIZE = 4096
2020-03-27 02:43:11 -05:00
Xiang Xiao
1511403fdf Revert "Don't generate .depend anymore"
This reverts commit cc5ad09caa.
2020-03-22 23:09:40 -05:00
Xiang Xiao
cc5ad09caa
Don't generate .depend anymore 2020-03-22 18:15:21 +00:00
Xiang Xiao
d660492289 Run codespell -w against all files
and fix the wrong correction
2020-02-22 14:41:36 -06:00
Xiang Xiao
779197c63e Ensure all source code end with one and only one newline
by this command:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2020-02-09 08:14:49 -06:00
Xiang Xiao
e0dcfa0c55 Remove extra whitespace from files (#43)
* Remove multiple newlines at the end of file
* Remove the white space from the end of line
2020-01-31 08:29:24 -06:00
Xiang Xiao
857158451b Unify the void cast usage
1.Remove void cast for function because many place ignore the returned value witout cast
2.Replace void cast for variable with UNUSED macro

Change-Id: Ie644129a563244a6397036789c4c3ea83c4e9b09
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-02 23:21:01 +08:00
Xiang Xiao
7808eb62d2 apps/: In all Make.def files, append to CONFIGURED_APPS patch with the absolute path. 2019-10-17 11:33:59 -06:00
Gregory Nutt
3a23523147 Makefiles: This reverts part of commit cf0365ea9. It restores 'conditional' inclusion of TOPDIR/Make.defs. Otherwise all make targets fail if the board has not been configured. That is okay most of the time, but not for things like clean and distclean which should not depend on being configured. 2019-10-15 09:25:48 +08:00
Xiang Xiao
31a7b99f9c apps.: Remove the inappropriate NSH_BUILTIN_APPS coupling
1. Check NSH_NETINIT for self network initialization
2. Check NSH_ARCHINIT for sel arch specific initialization
3. Always show help regardless of NSH_BUILTIN_APPS
4. Loop forever regardless of NSH_BUILTIN_APPS, user could:
  a.change the default behavior by the command line argument
  b.or ctrl+c to break out the loop
2019-10-07 02:37:56 -06:00
Xiang Xiao
e806097c70 Application.mk and main.c files: Change builtin's entry point from main to xxx_main by macro expansion. This change make the entry point fully compliant with POSIX/ANSI standard. 2019-10-06 06:14:56 -06:00
Xiang Xiao
cf0365ea92 Clean up Makefile under apps folder no functional changes. 2019-10-04 08:35:46 -06:00
Gregory Nutt
9e1cda95fb Cosmetic fixes to spacing. 2019-07-27 08:49:34 -06:00
Nathan Hartman
3a21b0b222 apps/examples/webserver/webserver_main.c: Init network & run forever only if not builtin app. Infer from CONFIG_NSH_BUILTIN_APPS if we are a NSH built-in app or not. If built-in app (CONFIG_NSH_BUILTIN_APPS defined) then we assume network is initialized prior to webserver starting and we exit on webserver failure. If running standalone (CONFIG_NSH_BUILTIN_APPS is undefined) then behavior is unchanged: webserver initializes network and runs forever. 2019-07-26 11:04:05 -06:00
Masayuki Ishikawa
b12b61df69 Merged in masayuki2009/nuttx.apps/fix_webserver (pull request #179)
apps/examples/webserver: Fix to compile with CONFIG_NETUTILS_HTTPD_SENDFILE=y

Also, in this PR, some configs such as CONFIG_NETUTILS_HTTPDFILESTATS
can be selected by menuconfig.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-03 12:20:29 +00:00
Gregory Nutt
9db029e318 The file system can no longer be disabled. Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS==0 2019-02-11 13:10:10 -06:00
Gregory Nutt
e88a529010 From patch attached to nuttx/ Bitbucket Issue #136 from Vlado Vidovic:
The patch provided in issue 135, which adds support for HTTP Chunked Encoding, covers all paths in the webserver app except CGI callbacks. As a result, if a page being served happens to use CGI, it could generate stream content that does not comply with HTTP Chunked Encoding.

The patch attached amends the webserver app's CGI callbacks to use the HTTP Chunked Encoding sender function instead of using send() directly.
2018-11-23 17:29:07 -06:00
Gregory Nutt
f5e399670f apps/examples/webserver/Kconfig: The webserver "app" allows for DHCP client to be enabled. However, the Kconfig infrastructure does not contain EXAMPLES_WEBSERVER_DHCPC config.
Based on patch from "Anonymous" attached to Bitbucket Issue #130
2018-11-08 18:48:28 -06:00
anchao
b5cfd93444 apps/: Modification to build system: Unified application compilation rules 2018-09-03 09:29:56 -06:00
anchao
220653f21c Squashed commit of the following:
Author: anchao <anchao@pinecone.net>

     apps/, most main() function: Correct CONFIG_BUILD_LOADABLE usage
     Loadable apps/: Correct loadable symbol table generate
     apps/system/ubloxmodem:  Fix build break
     apps/examples/ostest: start restart/waitpid/user test from main loop
     apps/nshlib:  Expand reboot and poweroff commands to include a second, optional mode argument

    Author: Gregory Nutt <gnutt@nuttx.org>

     An attempt to fix build issues.  Does not work.
     apps/examples/ostest:  Fix some inappropriate renaming of static functions introduced with recent patches.
     apps/builtin/exec_builtin.c:  Fix a error introduced by recent comments.  Found in build testing.

    Author: anchao <anchao@pinecone.net>

     apps/builtin/exec_builtin.c:  Try posix_spawn if builtin apps do not have have an entry point.
     apps/Application.mk: introduce MODULE config to simplify tristate(m)
     apps/nsh:  Change the nuttx shell module type to tristate
     apps:  Add loadable application support
     script/mksymtab:  Generate symbol table name by default
     apps/builtin:  Allow loadable applications can register with apps/builtin.
2018-08-23 11:06:15 -06:00
Gregory Nutt
2f982e9c77 Revert "Squashed commit of the following:"
This reverts commit 25b92edd9f.
2018-08-22 12:06:32 -06:00
anchao
25b92edd9f Squashed commit of the following:
apps/builtin/exec_builtin.c:  Try posix_spawn if builtin apps do not have have an entry point.
    apps/Application.mk: introduce MODULE config to simplify tristate(m)
    apps/nsh:  Change the nuttx shell module type to tristate
    apps:  Add loadable application support
    script/mksymtab:  Generate symbol table name by default
    apps/builtin:  Allow loadable applications can register with apps/builtin.
2018-08-22 09:30:38 -06:00
Gregory Nutt
7a8561728c The last change added .PRECIOUS: $(BIN) to everyway Makefile in hopes the libapps.a will not be deleted on Control-C (unproven so far). However, $(BIN) may contain back slashes in some build platforms and that causes problems for make: It can't handle the backslashes in the .PRECIOUS dependency list. $(BIN) replaced with ../../libapp.a, where the number of ../ depends on the depth of the Makefile in the apps/ source tree. 2017-08-13 11:03:17 -06:00
Gregory Nutt
a66da34f18 All Makefiles: Add .PRECIOUS: apps/libapps.a to every Makefile. Hopefully this will end awkward problems when you Control-C out of a build and libapps.a is deleted. 2017-08-13 09:35:14 -06:00
Sebastien Lorquet
ea1025ead2 DHCPC: Remove hard-coded interface device. Now passed as a parameter to dhcpc_open(). 2017-05-19 15:31:22 -06:00
Sebastien Lorquet
297844b1ce Fix comments formatting 2017-05-19 17:50:26 +02:00
Sebastien Lorquet
caeb6b32fd First batch of changes 2017-05-19 17:30:26 +02:00
Sebastien Lorquet
2cbad44f1d This is the Pokemon patch to change all includes fronm <apps/bla/bla.h> to "bla/bla.h" 2016-07-11 10:11:18 -06:00
Sebastien Lorquet
bfff5e7179 Add empty preconfig rules to 'leaf' makefiles 2016-06-02 16:24:30 +02:00
Anton D. Kachalov
b43c5a6b1e THTTPD: Depends on !DISABLE_POLL
webserver:  Allow to build webserver as an application

Signed-off-by: Anton D. Kachalov mouse@yandex-team.ru
2015-08-10 14:44:11 -06:00
Gregory Nutt
ba72767d09 apps/netutils/netlib and other files: Create netlib wrapper functions around dns_getserver() and dns_setserver() to isolate application code from changes to those interfaces. 2015-07-12 11:53:23 -06:00
Gregory Nutt
812450ebe6 If NSH or Webclient is selected, make sure that CONFIG_LIBC_NETDB is enabled; reanem dnsclient.h to dns.h 2015-07-12 09:25:39 -06:00
Gregory Nutt
effda16cf5 DNS: Remove some unused, non-functional DNS functions 2015-07-11 07:17:11 -06:00
Gregory Nutt
48c36800f5 apps/netuils/dnsclient and include/netutils/dnsclient.h: Move the DNS client logic into the NuttX C library. It is a necessary part for the full implementation of the netdb logic and provides more flexibility in that location. 2015-07-10 11:31:13 -06:00
Gregory Nutt
d5b6949c9f Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:14:53 -06:00
Gregory Nutt
3e16e0a0f9 apps/examples: Modify/simpify apps/examples build files. From Roman Saveljev. 2015-05-06 08:19:54 -06:00
Gregory Nutt
953c0fb069 Rename IPv4 netlib functions and files to make room in the namespace for corresponding IPv6 functions and files 2015-01-18 14:17:00 -06:00
Gregory Nutt
ffbfe4d365 These examples all set the IP address of eth1 is DHCP is enabled. That can't be right??? 2014-11-17 07:21:55 -06:00
Gregory Nutt
88956111df Remove non-portable references to syslog from apps/examples 2014-10-08 08:33:00 -06:00
Gregory Nutt
0a4258db6d MAINOBJ needs to be added to object list in many Makefile 2014-09-11 06:48:11 -06:00
Gregory Nutt
4f14d3b8c4 Changes to many Makefiles. For kernel buil object containing main cannot go into library because of name collisions. The object file must be handled as a special case in every Makefile 2014-09-07 08:43:01 -06:00
Gregory Nutt
043d6898db Determine the main object name from the main source name in every kernel build Makefile 2014-09-07 07:19:19 -06:00
Gregory Nutt
2881b73f3d Add an nm command after every kernel build link to show if there are any undefined symbols 2014-09-07 07:15:59 -06:00
Gregory Nutt
70765b94fc Add the main object to the list objects to link in every kernel build link command 2014-09-07 07:12:55 -06:00
Gregory Nutt
22720d5eb3 Add the main object to the dependencies for the kernel build 2014-09-07 07:09:22 -06:00