summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_main.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-04-25Decouple "Unit" from NXT_SERVER.Andrew Clayton1-1/+2
Split out the "Unit" name from the NXT_SERVER #define into its own NXT_NAME #define, then make NXT_SERVER a combination of that and NXT_VERSION. This is required for a subsequent commit where we may want the server name on its own. Reviewed-by: Alejandro Colomar <alx@nginx.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2023-04-24Remove a bunch of dead code.Andrew Clayton1-4/+0
This removes a bunch of unused files that would have been touched by subsequent commits that switch to using nxt_bool_t (AKA unit6_t) in structures. In auto/sources we have NXT_LIB_SRC0=" \ src/nxt_buf_filter.c \ src/nxt_job_file.c \ src/nxt_stream_module.c \ src/nxt_stream_source.c \ src/nxt_upstream_source.c \ src/nxt_http_source.c \ src/nxt_fastcgi_source.c \ src/nxt_fastcgi_record_parse.c \ \ src/nxt_mem_pool_cleanup.h \ src/nxt_mem_pool_cleanup.c \ " None of these seem to actually be used anywhere (other than within themselves). That variable is _not_ referenced anywhere else. Also remove the unused related header files: src/nxt_buf_filter.h, src/nxt_fastcgi_source.h, src/nxt_http_source.h, src/nxt_job_file.h, src/nxt_stream_source.h and src/nxt_upstream_source.h Also, these files do not seem to be used, no mention under auto/ or build/ src/nxt_file_cache.c src/nxt_cache.c src/nxt_job_file_cache.c src/nxt_cache.h is #included in src/nxt_main.h, but AFAICT is not actually used. With all the above removed $ ./configure --openssl --debug --tests && make -j && make -j tests && make libnxt all builds. Buildbot passes. NOTE: You may need to do a 'make clean' before the next build attempt. Reviewed-by: Alejandro Colomar <alx@nginx.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2022-11-20Var: separating nxt_tstr_t from nxt_var_t.Zhidao HONG1-0/+1
It's for the introduction of njs support. For each option that supports native variable and JS template literals introduced next, it's unified as template string. No functional changes.
2022-10-14Fixed the build on MacOS (and others).Andrew Clayton1-0/+1
@alejandro-colomar reported that the build was broken on MacOS cc -o build/unitd -pipe -fPIC -fvisibility=hidden -O -W -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -fstrict-aliasing -Wstrict-overflow=5 -Wmissing-prototypes -Werror -g \ build/src/nxt_main.o build/libnxt.a \ \ \ -L/usr/local/Cellar/pcre2/10.40/lib -lpcre2-8 Undefined symbols for architecture x86_64: "_nxt_fs_mkdir_parent", referenced from: _nxt_runtime_pid_file_create in libnxt.a(nxt_runtime.o) _nxt_runtime_controller_socket in libnxt.a(nxt_controller.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [build/unitd] Error 1 This was due to commit 57fc920 ("Socket: Created control socket & pid file directories."). This happened because this commit introduced the usage of nxt_fs_mkdir_parent() in core code which uses nxt_fs_mkdir(), both of these are defined in src/nxt_fs.c. It turns out however that this file doesn't get built on MacOS (or any system that isn't Linux or that lacks a FreeBSD compatible nmount(2) system call) due to the following In auto/sources we have if [ $NXT_HAVE_ROOTFS = YES ]; then NXT_LIB_SRCS="$NXT_LIB_SRCS src/nxt_fs.c" fi NXT_HAVE_ROOTFS is set in auto/isolation If [ $NXT_HAVE_MOUNT = YES -a $NXT_HAVE_UNMOUNT = YES ]; then NXT_HAVE_ROOTFS=YES cat << END >> $NXT_AUTO_CONFIG_H #ifndef NXT_HAVE_ISOLATION_ROOTFS #define NXT_HAVE_ISOLATION_ROOTFS 1 #endif END fi While we do have a check for a generic umount(2) which is found on MacOS, for mount(2) we currently only check for the Linux mount(2) and FreeBSD nmount(2) system calls. So NXT_HAVE_ROOTFS is set to NO on MacOS and we don't build src/nxt_fs.c This fixes the immediate build issue by taking the mount/umount OS support out of nxt_fs.c into a new nxt_fs_mount.c file which is guarded by the above while we now build nxt_fs.c unconditionally. This should fix the build on any _supported_ system. Reported-by: Alejandro Colomar <alx@nginx.com> Fixes: 57fc920 ("Socket: Created control socket & pid file directories.") Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2022-08-11Removed dead code.Alejandro Colomar1-1/+0
nxt_sockaddr_ntop() stopped being used in commit (git) 029942f4eb71. It has been replaced mostly by nxt_sockaddr_text(). commit 029942f4eb7196c2cff0d0e26bc6ff274138f7d8 Author: Igor Sysoev <igor@sysoev.ru> Date: Wed Feb 22 15:09:59 2017 +0300 I/O operations refactoring. nxt_job_sockaddr_parse() stopped being used in commit (git) 794248090a74. commit 794248090a74f31cbfcf24ea8c835df2d4d21073 Author: Igor Sysoev <igor@sysoev.ru> Date: Wed Mar 4 14:04:08 2020 +0300 Legacy upstream code removed. Also, remove functions and types used only by those two functions: nxt_job_sockaddr_unix_parse() nxt_job_sockaddr_inet6_parse() nxt_job_sockaddr_inet_parse() nxt_job_sockaddr_parse_t nxt_job_resolve() nxt_job_resolve_t
2020-08-13Basic variables support.Valentin Bartenev1-0/+1
2020-05-28Added "rootfs" feature.Tiago Natel de Moura1-0/+1
2020-03-04Legacy upstream code removed.Igor Sysoev1-8/+0
2019-12-06Moved credential-related code to nxt_credential.c.Tiago Natel1-0/+1
This is required to avoid include cycles, as some nxt_clone_* functions depend on the credential structures, but nxt_process depends on clone structures.
2019-09-19Initial applications isolation support using Linux namespaces.Tiago de Bem Natel de Moura1-0/+1
2019-02-22Improvement and unification of version processing in build scripts.Alexander Borisov1-4/+1
This also eliminates expressions that incompatible with BSD make, thus fixing installation of Node.js module on FreeBSD (broken by dace60fc4926).
2018-12-24Version bump.Valentin Bartenev1-2/+2
2018-11-15Version bump.Valentin Bartenev1-2/+2
2018-10-31Version bump.Valentin Bartenev1-2/+2
2018-09-28Version bump.Valentin Bartenev1-2/+2
2018-09-20Added SSL/TLS support on connection level.Igor Sysoev1-2/+2
2018-07-16Version bump.Valentin Bartenev1-2/+2
2018-06-13Version bump.Valentin Bartenev1-2/+2
2018-05-21Added SERVER_SOFTWARE request meta-variable.Valentin Bartenev1-0/+1
2018-04-27Version bump.Valentin Bartenev1-2/+2
2018-04-13Version bump.Valentin Bartenev1-2/+2
2018-04-12Version bump.Valentin Bartenev1-2/+2
2018-04-02Version bump.Valentin Bartenev1-2/+2
2018-02-12Version bump.Valentin Bartenev1-2/+2
2018-02-09Version bump.Valentin Bartenev1-2/+2
2018-01-15Version bump.Valentin Bartenev1-2/+2
2017-12-29Version bump.Igor Sysoev1-2/+2
2017-10-20Version bump.Igor Sysoev1-2/+2
2017-10-19Supporting concurrent shared memory fd receive in router.Max Romanov1-1/+0
Two different router threads may send different requests to single application worker. In this case shared memory fds from worker to router will be send over 2 different router ports. These fds will be received and processed by different threads in any order. This patch made possible to add incoming shared memory segments in arbitrary order. Additionally, array and memory pool are no longer used to store segments because of pool's single threaded nature. Custom array-like structure nxt_port_mmaps_t introduced.
2017-10-02Version bump.Valentin Bartenev1-2/+2
2017-09-15Introducing named port message handlers to avoid misprints.Max Romanov1-0/+1
2017-08-31Introduced module compatibility vector.Igor Sysoev1-0/+1
2017-08-30Lib unit tests have been renamed to tests.Igor Sysoev1-7/+0
2017-08-29The process type enum exposed to go module.Max Romanov1-0/+1
2017-08-24Removed configure option --no-threads.Igor Sysoev1-4/+0
2017-08-24Added command line option --version.Igor Sysoev1-0/+4
2017-08-02Port RPC interface introduced.Max Romanov1-0/+1
Usage: 1. Register handlers in incoming port with nxt_port_rpc_register_handler(). 2. Use return value as a stream identifier for next nxt_port_socket_write().
2017-07-18Mem pool cleanup introduced.Max Romanov1-8/+11
Used for connection mem pool cleanup, which can be used by buffers. Used for port mem pool to safely destroy linked process.
2017-07-10Introducing thread-safe nxt_random().Igor Sysoev1-1/+0
2017-06-23Incoming and outgoing port_mmap arrays are protected with mutexes.Max Romanov1-19/+14
2017-06-23Added basic HTTP request processing in router.Max Romanov1-2/+2
- request to connection mapping in engine; - requests queue in connection; - engine port creation; - connected ports hash for each process; - engine port data messages processing (app responses);
2017-06-23lvlhash for ports moved to separate files for future re-use.Max Romanov1-0/+1
2017-06-20Using new memory pool implementation.Igor Sysoev1-6/+1
2017-06-19Memory pools refactoring.Igor Sysoev1-1/+1
2017-06-14nxt_event_conn_... functions and structures have been renamedIgor Sysoev1-5/+4
to nxt_conn_...
2017-05-12Using shared memory to send data via nxt_port.Max Romanov1-1/+4
Usage: b = nxt_port_mmap_get_buf(task, port, size); b->mem.free = nxt_cpymem(b->mem.free, data, size); nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b);
2017-03-09Processes refactoring.Igor Sysoev1-7/+13
The cycle has been renamed to the runtime.
2017-03-01HTTP parser.Valentin Bartenev1-0/+1
2017-03-01Removed legacy HTTP parser.Valentin Bartenev1-1/+0
2017-02-22Port changes.Igor Sysoev1-1/+3