]>
Commit | Line | Data |
---|---|---|
c4004194 CV |
1 | 2005-04-08 Corinna Vinschen <corinna@vinschen.de> |
2 | ||
3 | * bsd_mutex.cc (msleep_cnt): Remove. | |
4 | (msleep_max_cnt): Remove. | |
5 | (msleep_arr): Remove. | |
6 | (class msleep_sync_array): New class to encapsulate msleep/wakeup | |
7 | thread synchronization. | |
8 | (msleep_sync): New object pointer. | |
9 | (msleep_init): Initialize new msleep_sync object. | |
10 | (_mutex): Just call msleep_sync->enter() and msleep_sync->leave() for | |
11 | thread synchronization. Improve debug output a bit more. | |
12 | (wakeup): Just call msleep_sync->wakeup(). | |
13 | (wakeup_all): Whitespace fix. | |
14 | ||
dafef5e2 CV |
15 | 2005-04-06 Corinna Vinschen <corinna@vinschen.de> |
16 | ||
17 | * bsd_helper.cc (ipcexit_hookthread): Fix whitespace and handle leak. | |
18 | * bsd_mutex.cc: Include stdlib.h, sys/msg.h and sys/sem.h. | |
19 | (mtx_init): Initialize lock counter to 0. | |
20 | (_mtx_lock): Increment and log mutex lock counter. | |
21 | (mtx_owned): Add winpid argument. Return true only if mutex is | |
22 | actually owned by process winpid. | |
23 | (_mtx_assert): Add winpid argument accordingly. | |
24 | (_mtx_unlock): Log owner and lock count. | |
25 | (MSLEEP_MUTEX): Remove. | |
26 | (MSLEEP_SEM): Ditto. | |
27 | (MSLEEP_EVENT): Ditto. | |
28 | (msleep_event_name): Ditto. | |
29 | (msleep_cs): New global critical section. | |
30 | (msleep_cnt): New global variable indicating msleep record usage. | |
31 | (msleep_max_cnt): New global variable indicating msleep record size. | |
32 | (msleep_arr): New global pointer to msleep records. | |
33 | (msleep_init): Initialize msleep_cs. Allocate msleep_arr array. | |
34 | (_msleep): Rewrite using new msleep_cs/msleep_arr based thread | |
35 | synchronization. Don't be shy with debug output. | |
36 | (wakeup): Rewrite using new msleep_cs/msleep_arr based thread | |
37 | synchronization. | |
38 | * bsd_mutex.h (struct mtx): Add lock counter for better debugging. | |
39 | (mtx_owned): Declare with winpid argument. | |
40 | (_mtx_assert): Ditto. | |
41 | (mtx_assert): Define with winpid argument. | |
42 | * cygserver.cc (version): Remove. | |
43 | (SERVER_VERSION): New define, decoupling server version information | |
44 | from source code control system. | |
45 | (print_version): Simplify printing server version. | |
46 | * process.cc (process::process): Fix wrong bracketing (and handle leak). | |
47 | (process::~process): Only try to close _signal_arrived if valid. | |
48 | * sysv_sem.cc: Include sys/smallprint.h. | |
49 | (semundo_clear): Define with additional struct thread pointer argument. | |
50 | Accomodate throughout. | |
51 | (SEMUNDO_LOCKASSERT): Define with winpid argument. Accomodate | |
52 | throughout. | |
53 | (struct sem_undo): Define un_proc as pid_t on Cygwin. Accomodate | |
54 | throughout. | |
55 | (seminit): Improve debugging by adding the semid to the mutex name. | |
56 | (semget): Correctly print key value as 64 bit hex value in debug | |
57 | output. | |
58 | (semexit_myhook): Remove Cygwin specific unlocking of mutexes owned | |
59 | by exiting process. Keep semaphore global lock throughout whole | |
60 | function to avoid races. | |
61 | * sysv_shm.cc (GIANT_REQUIRED): Define empty on Cygwin. We know that | |
62 | Giant is locked. | |
63 | ||
c9f545e2 CV |
64 | 2005-04-01 Corinna Vinschen <corinna@vinschen.de> |
65 | ||
66 | * bsd_mutex.cc (_msleep): Whitespace fix. | |
67 | * process.cc (process::process): Handle invalid signal_arrived values | |
68 | more gracefully. | |
69 | ||
f312634c CV |
70 | 2004-12-30 Corinna Vinschen <corinna@vinschen.de> |
71 | ||
72 | * bsd_mutex.cc: Include limits.h. | |
73 | (MSLEEP_MUTEX): New define for third parameter to msleep_event_name. | |
74 | (MSLEEP_SEM): Ditto. | |
75 | (MSLEEP_EVENT): Ditto. | |
76 | (msleep_event_name): Add third parameter to allow multiple | |
77 | synchronization objects per ident. | |
78 | (_msleep): Implement new synchronization technique to make sure | |
79 | that all threads have been woken up by a corresponding wakeup call. | |
80 | (wakeup): Ditto. | |
81 | ||
52fa622a CV |
82 | 2004-10-18 Corinna Vinschen <corinna@vinschen.de> |
83 | ||
84 | * sysv_sem.cc: Redefine offsetof to circumvent build problems with | |
85 | gcc 3.4. | |
86 | ||
1f8b3049 CV |
87 | 2004-10-04 Corinna Vinschen <corinna@vinschen.de> |
88 | ||
89 | * bsd_mutex.cc (_msleep): Simplify event creation. Revert change from | |
90 | 2004-08-24. It should be unnecessary now. | |
91 | * msg.cc (client_request_msg::serve): Release process critical | |
92 | section as early as possible. | |
93 | * sem.cc (client_request_sem::serve): Ditto. | |
94 | * shm.cc (client_request_shm::serve): Ditto. | |
95 | * process.cc: Use hold and release method calls instead of | |
96 | EnterCriticalSection/LeaveCriticalSection calls throughout. | |
97 | * process.h (_hold): Rename from hold. Take filename and linenumber | |
98 | parameter for logging. Define matching hold macro. | |
99 | (release): Ditto. | |
100 | ||
c6ef5fb7 CV |
101 | 2004-10-01 Corinna Vinschen <corinna@vinschen.de> |
102 | ||
103 | * sysv_sem.cc: Update to FreeBSD version 1.69. | |
104 | 1.68: Reduce the overhead of semop() by using the kernel stack | |
105 | instead of malloc'd memory to store the operations array if it | |
106 | is small enough to fit. | |
107 | 1.69: Adjust the number of processes waiting on a semaphore properly | |
108 | if we're woken up in the middle of sleeping. | |
109 | ||
e55ad3ec CV |
110 | 2004-09-23 Corinna Vinschen <corinna@vinschen.de> |
111 | ||
112 | * sysv_shm.cc (kern_shmat): Avoid compiler warning. | |
113 | ||
04e9ee5f CV |
114 | 2004-09-21 Corinna Vinschen <corinna@vinschen.de> |
115 | ||
116 | * sysv_shm.cc (vm_object_reference): remove Cygwin specific define. | |
117 | (vm_map_find): Ditto. | |
118 | (vm_map_inherit): Ditto. | |
119 | (kern_shmat): On Cygwin, take shmaddr just as is. Don't call vm | |
120 | system calls on Cygwin. Add comment. | |
121 | ||
1dcd520b CV |
122 | 2004-09-15 Corinna Vinschen <corinna@vinschen.de> |
123 | ||
124 | Fix copyright throughout. | |
125 | Eliminate use of _impure_ptr outside Cygwin. | |
126 | * bsd_helper.cc: Include errno.h instead of cygerrno.h. | |
127 | * bsd_mutex.cc : Ditto. | |
128 | * client.cc: Ditto. | |
129 | * cygserver.cc: Ditto. | |
130 | * process.cc: Don't build functions inside Cygwin. Don't include | |
131 | cygerrno.h. Don't set errno. | |
132 | * transport_pipes.cc (SET_ERRNO): New define. Use througout. | |
133 | * transport_sockets.cc (SET_ERRNO): Ditto. | |
134 | (GET_ERRNO): Ditto. | |
135 | ||
ab21f18c CV |
136 | 2004-09-06 Corinna Vinschen <corinna@vinschen.de> |
137 | ||
138 | * bsd_mutex.cc (_msleep): Disable resetting event object for now. | |
139 | ||
f0720ce7 CV |
140 | 2004-08-31 Corinna Vinschen <corinna@vinschen.de> |
141 | ||
142 | * sysv_shm.cc (kern_shmat): Add debug_printf's. | |
143 | ||
1532dd53 CV |
144 | 2004-08-24 Corinna Vinschen <corinna@vinschen.de> |
145 | ||
146 | * bsd_mutex.cc (_msleep): Release process object while waiting. | |
147 | ||
8c976716 CV |
148 | 2004-08-03 Corinna Vinschen <corinna@vinschen.de> |
149 | ||
150 | * transport.cc (transport_layer_base::~transport_layer_base): Resurrect. | |
151 | * transport.h (transport_layer_base::~transport_layer_base): Ditto. | |
152 | ||
a9185492 CV |
153 | 2004-07-30 Corinna Vinschen <corinna@vinschen.de> |
154 | ||
155 | * bsd_mutex.cc (_msleep): Reset event object and close it before | |
156 | entering mutex. Turn order of conditional for better readability. | |
157 | ||
3bf02272 CV |
158 | 2004-07-26 Corinna Vinschen <corinna@vinschen.de> |
159 | ||
160 | * cygserver.conf: Describe relation between shmmaxpgs and SHMMAX. | |
161 | ||
96e949de CV |
162 | 2004-07-20 Corinna Vinschen <corinna@vinschen.de> |
163 | ||
164 | * bsd_helper.cc: Whitespace fixes. | |
165 | * bsd_mutex.cc: Ditto. | |
166 | ||
bb3be323 CV |
167 | 2004-07-19 Corinna Vinschen <corinna@vinschen.de> |
168 | ||
169 | * transport.cc (transport_layer_base::~transport_layer_base): Remove. | |
170 | * transport.h (transport_layer_base::~transport_layer_base): Ditto. | |
171 | ||
f8e58afb CV |
172 | 2004-07-19 Corinna Vinschen <corinna@vinschen.de> |
173 | ||
174 | * bsd_mutex.cc (win_priority): Actually calculate p from priority. | |
175 | ||
e9054f3f CV |
176 | 2004-06-03 Corinna Vinschen <corinna@vinschen.de> |
177 | ||
178 | * shm.cc (shmget): Explicitely set td_retval[0] to -1 on error. | |
179 | ||
d2714c5e CV |
180 | 2004-03-30 Corinna Vinschen <corinna@vinschen.de> |
181 | ||
182 | * sysv_shm.cc (shmget): Allow to retrieve shared memory segments | |
183 | by shmid when IPC_KEY_IS_SHMID is set. | |
184 | ||
ddb1a4c1 CV |
185 | 2004-03-02 Corinna Vinschen <corinna@vinschen.de> |
186 | ||
187 | * sysv_sem.cc (semundo_adjust): Check for process id instead of | |
188 | process struct pointer, which isn't fixed under Cygwin. | |
189 | (semexit_myhook): Ditto. Adjust debug print statements to print | |
190 | Cygwin and Windows PIDs instead of process pointer under Cygwin. | |
191 | ||
f5133f95 CV |
192 | 2004-02-07 Corinna Vinschen <corinna@vinschen.de> |
193 | ||
194 | * bsd_mutex.cc (win_priority): Move to msleep helper function section. | |
195 | (set_priority): Ditto. Fix formatting. | |
196 | (_msleep): Cleanup obj formatting. Rearrange obj order. | |
197 | ||
373a036f CV |
198 | 2004-02-06 Corinna Vinschen <corinna@vinschen.de> |
199 | ||
200 | * bsd_mutex.cc (_msleep): Handle PCATCH using signal_arrived event. | |
201 | * client.cc: Include sigproc.h. | |
202 | * msg.cc (client_request_msg::serve): Accomodate third parameter to | |
203 | process::process. | |
204 | * sem.cc (client_request_sem::serve): Ditto. | |
205 | * shm.cc (client_request_shm::serve): Ditto. | |
206 | * process.cc (process::process): Duplicate signal_arrived into | |
207 | Cygserver process space. | |
208 | (process::~process): Close _signal_arrived handle. | |
209 | (process_cache::process): Add signal_arrived handling. | |
210 | * process.h (process::process): Add signal_arrived parameter. | |
211 | (process:signal_arrived): New read accessor. | |
212 | (process:_signal_arrived): New member. | |
213 | (process_cache::process): Add signal_arrived parameter. | |
214 | ||
8e701438 CV |
215 | 2004-01-16 Corinna Vinschen <corinna@vinschen.de> |
216 | ||
217 | * process.h (cleanup_routine::~cleanup_routine): Make pure virtual | |
218 | function to avoid miscompilation with certain versions of gcc. | |
219 | * process.cc (cleanup_routine::~cleanup_routine): Remove. | |
220 | ||
91301b85 CF |
221 | 2003-12-26 Christopher Faylor <cgf@redhat.com> |
222 | ||
223 | * Makefile.in (CFLAGS, CXXFLAGS): Remove unneeded include. | |
224 | (CYGWIN_LIB): Delete. | |
225 | (cygserver.exe target): Add -L$(cygwin_build) to the link line to force | |
226 | linker to use build tree version of the library. Remove specific | |
227 | inclusion of libcygwin.a from the link line. | |
228 | ||
11377ba6 CV |
229 | 2003-12-16 Corinna Vinschen <corinna@vinschen.de> |
230 | ||
231 | * bsd_helper.cc (tunable_params): Add entries for kern.ipc.msgmnb and | |
232 | kern.ipc.msgtql. Raise max value for kern.ipc.msgseg to 65535. | |
233 | * cygserver.conf: Add kern.ipc.msgmnb and kern.ipc.msgtql. | |
234 | * sysv_msg.cc (msginit): Add TUNABLE_INT_FETCH call for | |
235 | kern.ipc.msgmnb and kern.ipc.msgtql. | |
236 | ||
1d88f8ce CV |
237 | 2003-11-26 Corinna Vinschen <corinna@vinschen.de> |
238 | ||
239 | * cygserver.cc (main): Move call to ipcinit() up before installing | |
240 | any threads. | |
241 | * sysv_sem.cc: Update to FreeBSD version 1.67. | |
242 | (seminit): Initialize semaphore sequence numbers to 0. | |
243 | ||
a2acbfb1 CV |
244 | 2003-11-26 Corinna Vinschen <corinna@vinschen.de> |
245 | ||
246 | * Makefile.in (CYGWIN_LIB): Variable pointing to libcygwin.a in | |
247 | the parallel cygwin dir. | |
248 | (cygserver.exe): Depend on and link against $CYGWIN_LIB. | |
249 | ||
af284c9c CF |
250 | 2003-11-25 Christopher Faylor <cgf@redhat.com> |
251 | ||
252 | * Makefile.in (CXXFLAGS): Remove duplicate options handled in | |
253 | Makefile.common. | |
254 | ||
c026d842 CV |
255 | 2003-11-22 Corinna Vinschen <corinna@vinschen.de> |
256 | ||
257 | * msg.cc (client_request_msg::serve): Add default case to msgop switch. | |
258 | * sem.cc (client_request_sem::serve): Add default case to semop switch. | |
259 | * shm.cc (client_request_shm::serve): Add default case to shmop switch. | |
260 | ||
4bd66285 CV |
261 | 2003-11-21 Corinna Vinschen <corinna@vinschen.de> |
262 | ||
263 | * Makefile.in (install): Explicitely create directories. Install | |
264 | README to $(prefix)/share/doc/Cygwin. | |
265 | * README: New file. | |
266 | ||
e74c79a8 CV |
267 | 2003-11-21 Corinna Vinschen <corinna@vinschen.de> |
268 | ||
269 | * cygserver.cc (print_usage): Fix scrambled output. | |
270 | ||
94cacaf6 CV |
271 | 2003-11-20 Corinna Vinschen <corinna@vinschen.de> |
272 | ||
273 | * cygserver-config: Slightly modify printed message. | |
274 | ||
72f11cac CV |
275 | 2003-11-20 Corinna Vinschen <corinna@vinschen.de> |
276 | ||
277 | * Makefile.in (install): Install cygserver-config script to bindir. | |
278 | * cygserver-config: New script. | |
279 | ||
282113ba CV |
280 | 2003-11-19 Corinna Vinschen <corinna@vinschen.de> |
281 | ||
282 | Don't use safe_new but new throughout. Fix copyright dates | |
283 | throughout. | |
284 | * Makefile.in: Accomodate all new files and name changes. | |
285 | Add a *.d dependency. | |
286 | (sbindir): Add. | |
287 | (etcdir): Drop in favor of more appropriate sysconfdir definition. | |
288 | (sysconfdir): Add. | |
289 | (CXXFLAGS): Add -MMD flag. Add SYSCONFDIR definition. | |
290 | (.SUFFIXES): Add. | |
291 | (install): Add action items. | |
292 | (libclean): New target. | |
293 | (fullclean): Ditto. | |
294 | * bsd_helper.cc: New file. | |
295 | * bsd_helper.h: Ditto. | |
296 | * bsd_log.cc: Ditto. | |
297 | * bsd_log.h: Ditto. | |
298 | * bsd_mutex.cc: Ditto. | |
299 | * bsd_mutex.h: Ditto. | |
300 | * client.cc: Rearrange to build as less as possible if | |
301 | __INSIDE_CYGWIN__. | |
302 | (client_request::handle_request): Add Message Queue and Semaphore | |
303 | handling. | |
304 | * cygserver.cc: Rearrange to build as less as possible if | |
305 | __INSIDE_CYGWIN__. Use new debug/log/panic logging functions. | |
306 | (DEF_CONFIG_FILE): New definition for configuration file. Use | |
307 | throughout. | |
308 | (getfunc): Remove. | |
309 | (__cygserver__printf): Remove. | |
310 | (client_request_attach_tty::serve): Return error if impersonation | |
311 | fails. | |
312 | (print_usage): Pump up help message. | |
313 | (print_version): Add output of default configuration file. | |
314 | (main): Accommodate new options. Allow overwrite of threading options | |
315 | from config file. Call several new initialization functions. Drop | |
316 | printing dots. Don't define SIGHANDLE inline. | |
317 | * cygserver.conf: New file. | |
318 | * cygserver_process.h: Rename to process.h. | |
319 | * cygserver_transport.h: Rename to transport.h. | |
320 | * cygserver_transport_pipes.h: Rename to transport_pipes.h. | |
321 | * cygserver_transport_sockets.h: Rename to transport_sockets.h. | |
322 | * msg.cc: Rewrite. | |
323 | * sem.cc: Rewrite. | |
324 | * shm.cc: Rewrite. | |
325 | * sysv_msg.cc: New file, derived from FreeBSD version 1.52. | |
326 | * sysv_sem.cc: New file, derived from FreeBSD version 1.66. | |
327 | * sysv_shm.cc: New file, derived from FreeBSD version 1.89. | |
328 | * threaded_queue.cc: Rearrange to build as less as possible if | |
329 | __INSIDE_CYGWIN__. | |
330 | * transport.cc (transport_layer_base::impersonate_client): Define bool. | |
331 | (transport_layer_base::revert_to_self): Ditto. | |
332 | * transport.h (transport_layer_base::impersonate_client): Declare bool. | |
333 | (transport_layer_base::revert_to_self): Ditto. | |
334 | * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes): | |
335 | Don't call init_security. | |
336 | (init_security): Remove. | |
337 | (transport_layer_pipes::accept): Use global sec_all_nih. | |
338 | (transport_layer_pipes::connect): Ditto. | |
339 | (transport_layer_pipes::impersonate_client): Define bool. | |
340 | (transport_layer_pipes::revert_to_self): Ditt. | |
341 | * transport_pipes.h (transport_layer_pipes::impersonate_client): Declare | |
342 | bool. | |
343 | (transport_layer_pipes::revert_to_self): Ditto. | |
344 | * woutsup.h: Include bsd compatibility headers. | |
345 | (SIGHANDLE): Add definition. | |
346 | (__cygserver__printf): Remove definition. | |
347 | (__noop_printf): Ditto. | |
348 | (debug_printf): Define using debug. | |
349 | (syscall_printf): Define using log. | |
350 | (system_printf): Ditto. | |
351 | Drop all other _printf definitions. | |
352 | ||
56797078 CV |
353 | 2003-10-22 Corinna Vinschen <corinna@vinschen.de> |
354 | ||
355 | Accomodate moving cygserver header files from cygwin/include/cygwin | |
356 | to here and cygwin dir. | |
357 | * Makefile.in (EXEEXT): Drop as unused. | |
358 | (EXEEXT_FOR_BUILD): Ditto. | |
359 | (all): Don't build libcygserver.a. | |
360 | * cygserver_process.h: Moved from cygwin/include/cygwin to here. | |
361 | * cygserver_transport.h: Ditto. | |
362 | * cygserver_transport_pipes.h: Ditto. | |
363 | * cygserver_transport_sockets.h: Ditto. | |
364 | * ipc.h: Moved to ../cygwin and renamed to cygserver_ipc.h. | |
365 | * shm.h: Moved to ../cygwin and renamed to cygserver_shm.h. | |
366 | ||
a245bd6e CF |
367 | 2003-08-30 Christopher Faylor <cgf@redhat.com> |
368 | ||
369 | * msg.cc: New file. | |
370 | * sem.cc: Ditto. | |
371 | ||
9540fc59 CF |
372 | 2003-08-30 Christopher Faylor <cgf@redhat.com> |
373 | ||
374 | * threaded_queue.h: New file. | |
375 | ||
29c1c508 CF |
376 | 2003-08-25 Christopher Faylor <cgf@redhat.com> |
377 | ||
378 | * Makefile.in: Build libcygserver.a. | |
379 | * client.cc: Rename allow_daemon to allow_server. | |
380 | ||
ddb67621 CF |
381 | 2003-07-25 Christopher Faylor <cgf@redhat.com> |
382 | ||
383 | * configure.in: Use 'install-sh -c'. | |
384 | * configure: Regenerate. | |
385 | ||
7f4773b3 CF |
386 | 2003-07-25 Christopher Faylor <cgf@redhat.com> |
387 | ||
388 | * configure.in: Always use install-sh. | |
389 | * configure: Regenerate. | |
390 | ||
4d8d80b8 CF |
391 | 2003-07-01 Christopher Faylor <cgf@redhat.com> |
392 | ||
393 | * Makefile.in (OBJS): Move some more files from cygwin directory. | |
394 | * woutsup.h: Define _MT_SAFE. | |
395 | ||
345ee543 CF |
396 | 2003-07-01 Christopher Faylor <cgf@redhat.com> |
397 | ||
398 | * configure.in: First pass. | |
399 | * Makefile.in: Ditto. | |
400 | * configure: Generate. |