view src/os/win32/ngx_shmem.h @ 9266:93bbb9fbf30d default tip

Fixed compilation on NetBSD 10. NetBSD 10 changed struct kevent's udata type from "intptr_t" to "void *", similarly to how it is defined on other systems. This breaks compilation, since intptr_t is assumed on NetBSD. Fix is to limit special intptr_t handling to NetBSD versions before 10.0. To simplify testing, relevant definitions are moved from configure to code (which seems to be the right thing anyway).
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 06 May 2024 00:07:33 +0300
parents af7eba90645d
children
line wrap: on
line source


/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) Nginx, Inc.
 */


#ifndef _NGX_SHMEM_H_INCLUDED_
#define _NGX_SHMEM_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>


typedef struct {
    u_char      *addr;
    size_t       size;
    ngx_str_t    name;
    HANDLE       handle;
    ngx_log_t   *log;
    ngx_uint_t   exists;   /* unsigned  exists:1;  */
} ngx_shm_t;


ngx_int_t ngx_shm_alloc(ngx_shm_t *shm);
ngx_int_t ngx_shm_remap(ngx_shm_t *shm, u_char *addr);
void ngx_shm_free(ngx_shm_t *shm);

extern ngx_uint_t  ngx_allocation_granularity;


#endif /* _NGX_SHMEM_H_INCLUDED_ */