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