Skip to content

Commit 5cfdd68

Browse files
committed
Rearrange include file contents into a saner order, add inclusion of
<signal.h>. Per Andrew Dunstan.
1 parent e40ae56 commit 5cfdd68

File tree

1 file changed

+54
-49
lines changed

1 file changed

+54
-49
lines changed

src/include/port/win32.h

Lines changed: 54 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.41 2004/12/01 23:42:26 momjian Exp $ */
1+
/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.42 2004/12/26 19:20:33 tgl Exp $ */
22

33
/* undefine and redefine after #include */
44
#undef mkdir
@@ -7,6 +7,9 @@
77
#include <windows.h>
88
#include <winsock.h>
99
#include <process.h>
10+
#include <signal.h>
11+
#include <errno.h>
12+
1013
#undef near
1114

1215
/* Must be here to avoid conflicting with prototype in windows.h */
@@ -103,16 +106,15 @@ int semget(int semKey, int semNum, int flags);
103106
int semop(int semId, struct sembuf * sops, int flag);
104107

105108

106-
/* In backend/port/win32/signal.c */
107-
extern DLLIMPORT HANDLE pgwin32_signal_event;
108-
extern HANDLE pgwin32_initial_signal_pipe;
109-
110-
void pgwin32_signal_initialize(void);
111-
HANDLE pgwin32_create_signal_listener(pid_t pid);
112-
void pgwin32_dispatch_queued_signals(void);
113-
void pg_queue_signal(int signum);
109+
/*
110+
* Signal stuff
111+
*/
112+
#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
113+
#define WIFEXITED(w) (((w) & 0xff) == 0)
114+
#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
115+
#define WTERMSIG(w) ((w) & 0x7f)
114116

115-
#define sigmask(sig) ( 1 << (sig-1) )
117+
#define sigmask(sig) ( 1 << ((sig)-1) )
116118

117119
/* Signal function return values */
118120
#undef SIG_DFL
@@ -122,44 +124,6 @@ void pg_queue_signal(int signum);
122124
#define SIG_ERR ((pqsigfunc)-1)
123125
#define SIG_IGN ((pqsigfunc)1)
124126

125-
#ifndef FRONTEND
126-
#define pg_usleep(t) pgwin32_backend_usleep(t)
127-
void pgwin32_backend_usleep(long microsec);
128-
#endif
129-
130-
/* In backend/port/win32/socket.c */
131-
#ifndef FRONTEND
132-
#define socket(af, type, protocol) pgwin32_socket(af, type, protocol)
133-
#define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen)
134-
#define connect(s, name, namelen) pgwin32_connect(s, name, namelen)
135-
#define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout)
136-
#define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags)
137-
#define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags)
138-
139-
SOCKET pgwin32_socket(int af, int type, int protocol);
140-
SOCKET pgwin32_accept(SOCKET s, struct sockaddr * addr, int *addrlen);
141-
int pgwin32_connect(SOCKET s, const struct sockaddr * name, int namelen);
142-
int pgwin32_select(int nfds, fd_set *readfs, fd_set *writefds, fd_set *exceptfds, const struct timeval * timeout);
143-
int pgwin32_recv(SOCKET s, char *buf, int len, int flags);
144-
int pgwin32_send(SOCKET s, char *buf, int len, int flags);
145-
146-
const char *pgwin32_socket_strerror(int err);
147-
int pgwin32_waitforsinglesocket(SOCKET s, int what);
148-
149-
/* in backend/port/win32/security.c */
150-
extern int pgwin32_is_admin(void);
151-
extern int pgwin32_is_service(void);
152-
#endif
153-
154-
/* in backend/port/win32/error.c */
155-
void _dosmaperr(unsigned long);
156-
157-
158-
#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
159-
#define WIFEXITED(w) (((w) & 0xff) == 0)
160-
#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
161-
#define WTERMSIG(w) ((w) & 0x7f)
162-
163127
/* Some extra signals */
164128
#define SIGHUP 1
165129
#define SIGQUIT 3
@@ -222,7 +186,6 @@ typedef int pid_t;
222186
/*
223187
* Supplement to <errno.h>.
224188
*/
225-
#include <errno.h>
226189
#undef EAGAIN
227190
#undef EINTR
228191
#define EINTR WSAEINTR
@@ -237,3 +200,45 @@ typedef int pid_t;
237200
#define ECONNREFUSED WSAECONNREFUSED
238201
#define EBADFD WSAENOTSOCK
239202
#define EOPNOTSUPP WSAEOPNOTSUPP
203+
204+
205+
/* In backend/port/win32/signal.c */
206+
extern DLLIMPORT HANDLE pgwin32_signal_event;
207+
extern HANDLE pgwin32_initial_signal_pipe;
208+
209+
void pgwin32_signal_initialize(void);
210+
HANDLE pgwin32_create_signal_listener(pid_t pid);
211+
void pgwin32_dispatch_queued_signals(void);
212+
void pg_queue_signal(int signum);
213+
214+
#ifndef FRONTEND
215+
#define pg_usleep(t) pgwin32_backend_usleep(t)
216+
void pgwin32_backend_usleep(long microsec);
217+
#endif
218+
219+
/* In backend/port/win32/socket.c */
220+
#ifndef FRONTEND
221+
#define socket(af, type, protocol) pgwin32_socket(af, type, protocol)
222+
#define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen)
223+
#define connect(s, name, namelen) pgwin32_connect(s, name, namelen)
224+
#define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout)
225+
#define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags)
226+
#define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags)
227+
228+
SOCKET pgwin32_socket(int af, int type, int protocol);
229+
SOCKET pgwin32_accept(SOCKET s, struct sockaddr * addr, int *addrlen);
230+
int pgwin32_connect(SOCKET s, const struct sockaddr * name, int namelen);
231+
int pgwin32_select(int nfds, fd_set *readfs, fd_set *writefds, fd_set *exceptfds, const struct timeval * timeout);
232+
int pgwin32_recv(SOCKET s, char *buf, int len, int flags);
233+
int pgwin32_send(SOCKET s, char *buf, int len, int flags);
234+
235+
const char *pgwin32_socket_strerror(int err);
236+
int pgwin32_waitforsinglesocket(SOCKET s, int what);
237+
238+
/* in backend/port/win32/security.c */
239+
extern int pgwin32_is_admin(void);
240+
extern int pgwin32_is_service(void);
241+
#endif
242+
243+
/* in backend/port/win32/error.c */
244+
extern void _dosmaperr(unsigned long);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy