pfctl: Fix global state initialization

Update #4654.
This commit is contained in:
Sebastian Huber
2022-05-11 13:43:14 +02:00
parent 2e25292eb0
commit ae635eb214
3 changed files with 12 additions and 0 deletions

View File

@@ -1351,10 +1351,17 @@ get_socket_domain(void)
return (sdom); return (sdom);
} }
#ifdef __rtems__
static int pfctl_s = -1;
#endif /* __rtems__ */
int int
get_query_socket(void) get_query_socket(void)
{ {
#ifndef __rtems__
static int s = -1; static int s = -1;
#else /* __rtems__ */
#define s pfctl_s
#endif /* __rtems__ */
if (s == -1) { if (s == -1) {
if ((s = socket(get_socket_domain(), SOCK_DGRAM, 0)) == -1) if ((s = socket(get_socket_domain(), SOCK_DGRAM, 0)) == -1)
@@ -1362,6 +1369,9 @@ get_query_socket(void)
} }
return (s); return (s);
#ifdef __rtems__
#undef s
#endif /* __rtems__ */
} }
/* /*

View File

@@ -35,6 +35,7 @@
#define parseport _bsd_pfctl_parseport #define parseport _bsd_pfctl_parseport
#define pfctl_cmdline_symset _bsd_pfctl_pfctl_cmdline_symset #define pfctl_cmdline_symset _bsd_pfctl_pfctl_cmdline_symset
#define pfctl_load_anchors _bsd_pfctl_pfctl_load_anchors #define pfctl_load_anchors _bsd_pfctl_pfctl_load_anchors
#define pfctl_s _bsd_pfctl_s
#define pfctlychar _bsd_pfctl_pfctlychar #define pfctlychar _bsd_pfctl_pfctlychar
#define pfctlydebug _bsd_pfctl_pfctlydebug #define pfctlydebug _bsd_pfctl_pfctlydebug
#define pfctlyerrflag _bsd_pfctl_pfctlyerrflag #define pfctlyerrflag _bsd_pfctl_pfctlyerrflag

View File

@@ -3,3 +3,4 @@
#include "rtems-bsd-pfctl-data.h" #include "rtems-bsd-pfctl-data.h"
/* pfctl_parser.c */ /* pfctl_parser.c */
RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, static struct node_host *iftab); RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, static struct node_host *iftab);
RTEMS_LINKER_RWSET_CONTENT(bsd_prog_pfctl, static int pfctl_s);