Welcome! Log In Create A New Profile

Advanced

Re: [PATCH]: Improve Haiku build

Maxim Dounin
September 23, 2021 10:54PM
Hello!

On Thu, Sep 23, 2021 at 06:29:21PM +0100, David CARLIER wrote:

> Hi dear list,
>
> here a patch proposal for the haiku os.
>
> Kind regards.

> changeset: 7930:96ffec978b80
> tag: improve_haiku_support_disable_unsupported_code_paths_adding_specific_build_
> tag: qbase
> tag: qtip
> tag: tip
> user: David Carlier <devnexen@gmail.com>
> date: Thu Sep 23 18:13:21 2021 +0000
> summary: Improve Haiku support/disable unsupported code paths, adding specific build config components.
>
> diff -r bfad703459b4 -r 96ffec978b80 auto/os/conf
> --- a/auto/os/conf Wed Sep 22 10:20:00 2021 +0300
> +++ b/auto/os/conf Thu Sep 23 18:13:21 2021 +0000
> @@ -27,6 +27,10 @@
> . auto/os/win32
> ;;
>
> + Haiku:*)
> + . auto/os/haiku
> + ;;
> +
> DragonFly:*)
> have=NGX_FREEBSD . auto/have_headers
> CORE_INCS="$UNIX_INCS"
> diff -r bfad703459b4 -r 96ffec978b80 auto/sources
> --- a/auto/sources Wed Sep 22 10:20:00 2021 +0300
> +++ b/auto/sources Thu Sep 23 18:13:21 2021 +0000
> @@ -208,6 +208,8 @@
> DARWIN_SRCS=src/os/unix/ngx_darwin_init.c
> DARWIN_SENDFILE_SRCS=src/os/unix/ngx_darwin_sendfile_chain.c
>
> +HAIKU_DEPS="src/os/unix/ngx_haiku_config.h"
> +
>
> WIN32_INCS="$CORE_INCS $EVENT_INCS src/os/win32"
>
> diff -r bfad703459b4 -r 96ffec978b80 src/core/ngx_config.h
> --- a/src/core/ngx_config.h Wed Sep 22 10:20:00 2021 +0300
> +++ b/src/core/ngx_config.h Thu Sep 23 18:13:21 2021 +0000
> @@ -37,6 +37,8 @@
> #elif (NGX_WIN32)
> #include <ngx_win32_config.h>
>
> +#elif (NGX_HAIKU)
> +#include <ngx_haiku_config.h>
>
> #else /* POSIX */
> #include <ngx_posix_config.h>
> diff -r bfad703459b4 -r 96ffec978b80 src/os/unix/ngx_process.c
> --- a/src/os/unix/ngx_process.c Wed Sep 22 10:20:00 2021 +0300
> +++ b/src/os/unix/ngx_process.c Thu Sep 23 18:13:21 2021 +0000
> @@ -87,7 +87,9 @@
> ngx_spawn_process(ngx_cycle_t *cycle, ngx_spawn_proc_pt proc, void *data,
> char *name, ngx_int_t respawn)
> {
> +#if !(NGX_HAIKU)
> u_long on;
> +#endif
> ngx_pid_t pid;
> ngx_int_t s;
>
> @@ -142,6 +144,7 @@
> return NGX_INVALID_PID;
> }
>
> +#if !(NGX_HAIKU)
> on = 1;
> if (ioctl(ngx_processes[s].channel[0], FIOASYNC, &on) == -1) {
> ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
> @@ -156,6 +159,7 @@
> ngx_close_channel(ngx_processes[s].channel, cycle->log);
> return NGX_INVALID_PID;
> }
> +#endif
>
> if (fcntl(ngx_processes[s].channel[0], F_SETFD, FD_CLOEXEC) == -1) {
> ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
>

Thanks for the patch. It looks broken though, as it lacks the
ngx_haiku_config.h file. Further, it might be a better idea to
avoid introducing HaikuOS-specific files and defines, and keep
changes you want to introduce to better support HaikuOS under
generic POSIX support instead.

Note well that simply disabling FIOASYNC isn't a good solution.
While it might not be used now, it is certainly will be important
when interprocess communications via channels will used for
additional things, such as passing open file descriptors of log
files from master to worker processes
(https://trac.nginx.org/nginx/ticket/376).

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH]: Improve Haiku build

David CARLIER 145 September 23, 2021 01:30PM

Re: [PATCH]: Improve Haiku build

Maxim Dounin 31 September 23, 2021 10:54PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 48
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready