@@ -21,6 +21,8 @@ It can be done by done by typing configure, make and make install.
21
21
22
22
1. Install the Andy Piper Tools (http://www.xemacs.freeserve.co.uk/)
23
23
(This may be optional.)
24
+ You need at least the crypt library (also available as
25
+ ftp://sourceware.cygnus.com/pub/cygwin/xfree/libcrypt-cygwin-b20.1.tar.bz2)
24
26
25
27
---------------------------------------------------------------------------
26
28
@@ -29,8 +31,8 @@ It can be done by done by typing configure, make and make install.
29
31
1. Download the Cygwin32 IPC Package by Ludovic LANGE
30
32
http://www.multione.capgemini.fr:80/tools/pack_ipc/current.tar.gz
31
33
2. Untar the package and follow the readme instructions.
32
- 3. Apply the patch pgsql/src/win32/ipc.patch to theCygWin32 sources
33
- before compilingCygWin32 .
34
+ 3. Apply the patch pgsql/src/win32/ipc.patch to thecygipc sources
35
+ before compilingthe library .
34
36
4. I tested 1.03.
35
37
5. I used the \cygwin-b20\h-i568-cygwin32\i586-cygwin32\lib and
36
38
\cygwin-b20\h-i568-cygwin32\i586-cygwin32\include\sys instead of the
@@ -79,169 +81,3 @@ environment variable to 'localhost' or supply the hostname on the
79
81
command line.
80
82
81
83
Joost
82
-
83
-
84
- ---------------------------------------------------------------------------
85
-
86
- FIX FOR POSTGRESQL FREEZING ON NT MACHINES - EVERYONE SHOULD APPLY THIS PATCH
87
-
88
-
89
- From: "Hiroshi Inoue" <Inoue@tpf.co.jp>
90
- To: "Horak Daniel" <horak@mmp.plzen-city.cz>, "'Tom Lane'" <tgl@sss.pgh.pa.us>
91
- Cc: <pgsql-hackers@postgreSQL.org>
92
- Subject: RE: [HACKERS] backend freezeing on win32 fixed (I hope ;-) )
93
- Date: Wed, 18 Aug 1999 08:45:28 +0900
94
- Message-ID: <000301bee90a$95d40f00$2801007e@cadzone.tpf.co.jp>
95
- MIME-Version: 1.0
96
- Content-Type: text/plain;
97
- charset="iso-8859-1"
98
- Content-Transfer-Encoding: 7bit
99
- X-Priority: 3 (Normal)
100
- X-MSMail-Priority: Normal
101
- X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0
102
- X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
103
- In-reply-to: <2E7F82FAC1FCD2118E1500A024B3BF907DED3F@exchange.mmp.plzen-city.cz>
104
- Importance: Normal
105
- Sender: owner-pgsql-hackers@postgreSQL.org
106
- Precedence: bulk
107
- Status: RO
108
-
109
- > -----Original Message-----
110
- > From: owner-pgsql-hackers@postgreSQL.org
111
- > [mailto:owner-pgsql-hackers@postgreSQL.org]On Behalf Of Horak Daniel
112
- > Sent: Tuesday, August 17, 1999 9:06 PM
113
- > To: 'Tom Lane'
114
- > Cc: 'pgsql-hackers@postgreSQL.org'
115
- > Subject: RE: [HACKERS] backend freezeing on win32 fixed (I hope ;-) )
116
-
117
- Yutaka Tanida [yutaka@marin.or.jp] and I have examined IPC
118
- library.
119
-
120
- We found that postmaster doesn't call exec() after fork() since v6.4.
121
-
122
- The value of static/extern variables which cygipc library holds may
123
- be different from their initial values when postmaster fork()s child
124
- backend processes.
125
-
126
- I made the following patch for cygipc library on trial.
127
- This patch was effective for Yutaka's test case.
128
-
129
- Regards.
130
-
131
- Hiroshi Inoue
132
- Inoue@tpf.co.jp
133
-
134
- *** sem.c.origTue Dec 01 00:16:25 1998
135
- --- sem.cTue Aug 17 13:22:06 1999
136
- ***************
137
- *** 58,63 ****
138
- --- 58,78 ----
139
- static int GFirstSem = 0;/*PCPC*/
140
- static int GFdSem ;/*PCPC*/
141
-
142
- + static pid_tGProcessId = 0;
143
- +
144
- + static voidinit_globals(void)
145
- + {
146
- + pid_t pid;
147
- +
148
- + if (pid=getpid(), pid != GProcessId)
149
- + {
150
- + GFirstSem = 0;
151
- + used_sems = used_semids = max_semid = 0;
152
- + sem_seq = 0;
153
- + GProcessId = pid;
154
- + }
155
- + }
156
- +
157
- /************************************************************************/
158
- /* Demande d'acces a la zone partagee de gestion des semaphores*/
159
- /************************************************************************/
160
- ***************
161
- *** 77,82 ****
162
- --- 92,98 ----
163
- {
164
- int LRet ;
165
-
166
- + init_globals();
167
- if( GFirstSem == 0 )
168
- {
169
- if( IsGSemSemExist() )
170
- *** shm.c.origTue Dec 01 01:04:57 1998
171
- --- shm.cTue Aug 17 13:22:27 1999
172
- ***************
173
- *** 59,64 ****
174
- --- 59,81 ----
175
- static int GFirstShm = 0;/*PCPC*/
176
- static int GFdShm ;/*PCPC*/
177
-
178
- + /*****************************************/
179
- + /*Initialization of static variables */
180
- + /*****************************************/
181
- + static pid_t GProcessId = 0;
182
- + static void init_globals(void)
183
- + {
184
- + pid_t pid;
185
- +
186
- + if (pid=getpid(), pid != GProcessId)
187
- + {
188
- + GFirstShm = 0;
189
- + shm_rss = shm_swp = max_shmid = 0;
190
- + shm_seq = 0;
191
- + GProcessId = pid;
192
- + }
193
- + }
194
- +
195
- /************************************************************************/
196
- /* Demande d'acces a la zone partagee de gestion des shm*/
197
- /************************************************************************/
198
- ***************
199
- *** 82,87 ****
200
- --- 99,105 ----
201
- {
202
- int LRet ;
203
-
204
- + init_globals();
205
- if( GFirstShm == 0 )
206
- {
207
- if( IsGSemShmExist() )
208
- *** msg.c.origTue Dec 01 00:16:09 1998
209
- --- msg.cTue Aug 17 13:20:04 1999
210
- ***************
211
- *** 57,62 ****
212
- --- 57,77 ----
213
- static int GFirstMsg = 0;/*PCPC*/
214
- static int GFdMsg ;/*PCPC*/
215
-
216
- + /*****************************************/
217
- + /*Initialization of static variables */
218
- + /*****************************************/
219
- + static pid_t GProcessId = 0;
220
- + static void init_globals(void)
221
- + {
222
- + pid_t pid;
223
- +
224
- + if (pid=getpid(), pid != GProcessId)
225
- + {
226
- + GFirstMsg = 0;
227
- + msgbytes = msghdrs = msg_seq = used_queues = max_msqid = 0;
228
- + GProcessId = pid;
229
- + }
230
- + }
231
- /************************************************************************/
232
- /* Demande d'acces a la zone partagee de gestion des semaphores*/
233
- /************************************************************************/
234
- ***************
235
- *** 79,84 ****
236
- --- 94,100 ----
237
- {
238
- int LRet ;
239
-
240
- + init_globals();
241
- if( GFirstMsg == 0 )
242
- {
243
- if( IsGSemMsgExist() )
244
-
245
-
246
-
247
-