]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* thread.h: Change class names, methods, members and local vars
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
15648790
TP
12003-03-27 Thomas Pfaff <tpfaff@gmx.net>
2
3 * thread.h: Change class names, methods, members and local vars
4 according to the GNU coding style.
5 * thread.cc: Ditto.
6 * dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to
7 pthread::init_mainthread.
8 * pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject
9 call to pthread::is_good_object.
10
98b36ec8
CV
112003-03-27 Joe Buehler <jhpb@draco.hekimian.com>
12
13 * autoload.cc: added RegGetKeySecurity()
14 * security.cc (get_nt_object_attribute): use RegGetKeySecurity() for
15 performance.
16
85738bf7
CF
172003-03-25 Christopher Faylor <cgf@redhat.com>
18 Joe Buehler <jhpb@draco.hekimian.com>
19
20 * fork.cc (fork_parent): Don't copy signals from parent to child here.
21 * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo
22 here.
23
9306ba2e
TP
242003-03-23 Thomas Pfaff <tpfaff@gmx.net>
25
85738bf7
CF
26 * thread.h (class List): Move inline code inside class declaration.
27 (List::forEach): Change callback parameter to template class member
28 function pointer.
29 (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
30 to fixup keys.
9306ba2e
TP
31 (pthread_keys::fixup_after_fork): Ditto.
32 (pthread_keys::runAllDestructors): Ditto.
33 (pthread_key::saveAKey): Remove.
34 (pthread_key::restoreAKey): Ditto.
35 (pthread_key::destroyAKey): Ditto.
36 (pthread_key::run_destructor): Rename to runDestructor.
85738bf7
CF
37 (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
38 to fixup mutexes after a fork.
9306ba2e
TP
39 (pthread_mutex::FixupAfterFork): New method.
40 (pthread_mutex::mutexes): New member.
85738bf7
CF
41 (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
42 to fixup conds after a fork.
9306ba2e
TP
43 (pthread_cond::FixupAfterFork): New method.
44 (pthread_cond::conds): New member.
85738bf7 45 (pthread_rwlock::fixup_after_fork): Change to inline. Use
9306ba2e
TP
46 List::forEach to fixup rwlocks after a fork.
47 (pthread_rwlock::FixupAfterFork): New method.
48 (pthread_rwlock::rwlocks): New member.
85738bf7
CF
49 (semaphore::fixup_after_fork): Change to inline. Use List::forEach to
50 fixup mutexes after a fork.
9306ba2e
TP
51 (semaphore::FixupAfterFork): New method.
52 (semaphore::semaphores): New member.
53 (MTinterface::mutexs): Remove.
54 (MTinterface::conds): Ditto.
55 (MTinterface::rwlocks): Ditto.
56 (MTinterface::semaphores): Ditto.
57 (pthread_equal): Add extern "C".
58 (pthread_mutex_lock): Ditto.
85738bf7
CF
59
60 * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
61 calls for pthread objects.
9306ba2e 62 (semaphore::conds): Instantiate.
85738bf7
CF
63 (pthread_cond::pthread_cond): Use List::Insert rather than custom list
64 code.
65 (pthread_cond::~pthread_cond): Use List::Remove rather than custom list
66 code.
9306ba2e
TP
67 (pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
68 (pthread_rwlock::rwlocks): Instantiate.
85738bf7
CF
69 (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
70 list code.
71 (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
72 list code.
9306ba2e
TP
73 (pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
74 (pthread_key::saveAKey): Remove.
75 (pthread_key::fixup_before_fork): Ditto.
76 (pthread_key::restoreAKey): Ditto.
77 (pthread_key::fixup_after_fork): Ditto.
78 (pthread_key::destroyAKey): Ditto.
79 (pthread_key::runAllDestructors): Ditto.
80 (pthread_key::run_destructor): Rename to runDestructor.
81 (pthread_mutex::mutexes): Instantiate.
85738bf7
CF
82 (pthread_mutex::pthread_mutex): Use List::Insert rather than custom
83 list code.
84 (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
85 list code.
9306ba2e
TP
86 (pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
87 (semaphore::conds): Instantiate.
85738bf7
CF
88 (semaphore::semaphore): Use List::Insert rather than custom list code.
89 (semaphores::~semaphore): Use List::Remove rather than custom list
9306ba2e 90 code.
9306ba2e
TP
91 (semaphore::fixup_after_fork): Rename to FixupAfterFork.
92
ff3ef36d
CF
932003-03-22 Christopher Faylor <cgf@redhat.com>
94
95 * pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't
96 exist.
97
ca04f61f
CF
982003-03-22 Christopher Faylor <cgf@redhat.com>
99
100 * syscalls.cc (unlink): Be more defensive when SetFileAttributes is
101 called. Fix typo in debugging output.
102
89e7a1ce
CF
1032003-03-21 Christopher Faylor <cgf@redhat.com>
104
105 * fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not
106 necessary for newer versions of bash.
107
fa85038b
CV
1082003-03-20 Corinna Vinschen <corinna@vinschen.de>
109
110 * fhandler_socket.cc (fhandler_socket::sendto): Restrict EPIPE and
111 SIGPIPE handling to connection oriented sockets. Add comment.
112
4da34970
CF
1132003-03-19 Christopher Faylor <cgf@redhat.com>
114
115 * sigproc.h (signal_fixup_after_exec): Eliminate argument in declaration.
116 * exceptions.cc (signal_fixup_after_exec): Eliminate argument in
117 definition. Don't reset signal handlers after spawm. Just treat like
118 fork/exec.
119 * dcrt0.cc (dll_crt0_1): Don't pass PROC_SPAWN argument to
120 signal_fixup_after_exec.
121 * syscalls.cc (unlink): Don't change attributes of file if not readonly/system.
122 Ditto for resetting of arguments.
123
036ac6b3
CV
1242003-03-19 Corinna Vinschen <corinna@vinschen.de>
125
126 * glob.c: Eliminate __INSIDE_CYGWIN__ preprocessor conditionals
127 throughout.
128
b1897d27
CV
1292003-03-19 Corinna Vinschen <corinna@vinschen.de>
130
131 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Fix
132 wrong usage of S_IFDIR.
133 * security.cc (get_attribute_from_acl): Ditto.
134 (get_file_attribute): Fix wrong usage of S_IFLNK.
135 (get_object_attribute): Ditto.
136 (alloc_sd): Fix wrong usage of S_IFDIR.
137 * syscalls.cc (chmod): Allow chmod'ing of socket files.
138
c16d0946
CV
1392003-03-19 Corinna Vinschen <corinna@vinschen.de>
140
141 * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES):
142 Define.
143 * glob.c (g_lstat): Use CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES
144 instead of numerical constants.
145 (g_stat): Ditto.
146
6a80a133
TP
1472003-03-18 Thomas Pfaff <tpfaff@gmx.net>
148
149 * pthread.cc (pthread_attr_init): Remove
150 (pthread_attr_destroy): Ditto.
151 (pthread_attr_setdetachstate): Ditto.
152 (pthread_attr_getdetachstate): Ditto.
153 (pthread_attr_setstacksize): Ditto.
154 (pthread_attr_getstacksize): Ditto.
155 (pthread_attr_setinheritsched): Ditto.
156 (pthread_attr_getinheritsched): Ditto.
157 (pthread_attr_setschedparam): Ditto.
158 (pthread_attr_getschedparam): Ditto.
159 (pthread_attr_setschedpolicy): Ditto.
160 (pthread_attr_getschedpolicy): Ditto.
161 (pthread_attr_setscope): Ditto.
162 (pthread_attr_getscope): Ditto.
163 (pthread_attr_setstackaddr): Ditto.
164 (pthread_attr_getstackaddr): Ditto.
165 (pthread_key_create): Ditto.
166 (pthread_key_delete): Ditto.
167 (pthread_setspecific): Ditto.
168 (pthread_getspecific): Ditto.
169 (pthread_kill): Ditto.
170 (pthread_sigmask): Ditto.
171 (pthread_equal): Ditto.
172 (pthread_mutex_lock): Ditto.
173 (pthread_mutex_trylock): Ditto.
174 (pthread_mutex_unlock): Ditto.
175 (pthread_mutex_destroy): Ditto.
176 (pthread_mutex_setprioceiling): Ditto.
177 (pthread_mutex_getprioceiling): Ditto.
178 (pthread_mutexattr_destroy): Ditto.
179 (pthread_mutexattr_getprioceiling): Ditto.
180 (pthread_mutexattr_getprotocol): Ditto.
181 (pthread_mutexattr_getpshared): Ditto.
182 (pthread_mutexattr_gettype): Ditto.
183 (pthread_mutexattr_init): Ditto.
184 (pthread_mutexattr_setprioceiling): Ditto.
185 (pthread_mutexattr_setprotocol): Ditto.
186 (pthread_mutexattr_setpshared): Ditto.
187 (pthread_mutexattr_settype): Ditto.
188 (pthread_cond_destroy): Ditto.
189 (pthread_cond_signal): Ditto.
190 (pthread_cond_broadcast): Ditto.
191 (pthread_condattr_init): Ditto.
192 (pthread_condattr_destroy): Ditto.
193 (pthread_condattr_getpshared): Ditto.
194 (pthread_condattr_setpshared): Ditto.
195 (pthread_rwlock_destroy): Ditto.
196 (pthread_rwlock_rdlock): Ditto.
197 (pthread_rwlock_tryrdlock): Ditto.
198 (pthread_rwlock_wrlock): Ditto.
199 (pthread_rwlock_trywrlock): Ditto.
200 (pthread_rwlock_unlock): Ditto.
201 (pthread_rwlockattr_init): Ditto.
202 (pthread_rwlockattr_getpshared): Ditto.
203 (pthread_rwlockattr_setpshared): Ditto.
204 (pthread_rwlockattr_destroy): Ditto.
205 (pthread_getconcurrency): Ditto.
206 (pthread_setconcurrency): Ditto.
207 (pthread_getschedparam): Ditto.
208 (pthread_setschedparam): Ditto.
209
210 * thread.h (__pthread_attr_init): Remove prototype.
211 (__pthread_attr_destroy): Ditto.
212 (__pthread_attr_setdetachstate): Ditto.
213 (__pthread_attr_getdetachstate): Ditto.
214 (__pthread_attr_setstacksize): Ditto.
215 (__pthread_attr_getstacksize): Ditto.
216 (__pthread_attr_setinheritsched): Ditto.
217 (__pthread_attr_getinheritsched): Ditto.
218 (__pthread_attr_setschedparam): Ditto.
219 (__pthread_attr_getschedparam): Ditto.
220 (__pthread_attr_setschedpolicy): Ditto.
221 (__pthread_attr_getschedpolicy): Ditto.
222 (__pthread_attr_setscope): Ditto.
223 (__pthread_attr_getscope): Ditto.
224 (__pthread_attr_setstackaddr): Ditto.
225 (__pthread_attr_getstackaddr): Ditto.
226 (__pthread_key_create): Ditto.
227 (__pthread_key_delete): Ditto.
228 (__pthread_setspecific): Ditto.
229 (__pthread_getspecific): Ditto.
230 (__pthread_kill): Ditto.
231 (__pthread_sigmask): Ditto.
232 (__pthread_equal): Ditto.
233 (__pthread_mutex_lock): Ditto.
234 (__pthread_mutex_trylock): Ditto.
235 (__pthread_mutex_unlock): Ditto.
236 (__pthread_mutex_destroy): Ditto.
237 (__pthread_mutex_setprioceiling): Ditto.
238 (__pthread_mutex_getprioceiling): Ditto.
239 (__pthread_mutexattr_destroy): Ditto.
240 (__pthread_mutexattr_getprioceiling): Ditto.
241 (__pthread_mutexattr_getprotocol): Ditto.
242 (__pthread_mutexattr_getpshared): Ditto.
243 (__pthread_mutexattr_gettype): Ditto.
244 (__pthread_mutexattr_init): Ditto.
245 (__pthread_mutexattr_setprioceiling): Ditto.
246 (__pthread_mutexattr_setprotocol): Ditto.
247 (__pthread_mutexattr_setpshared): Ditto.
248 (__pthread_mutexattr_settype): Ditto.
249 (__pthread_cond_destroy): Ditto.
250 (__pthread_cond_signal): Ditto.
251 (__pthread_cond_broadcast): Ditto.
252 (__pthread_condattr_init): Ditto.
253 (__pthread_condattr_destroy): Ditto.
254 (__pthread_condattr_getpshared): Ditto.
255 (__pthread_condattr_setpshared): Ditto.
256 (__pthread_rwlock_destroy): Ditto.
257 (__pthread_rwlock_rdlock): Ditto.
258 (__pthread_rwlock_tryrdlock): Ditto.
259 (__pthread_rwlock_wrlock): Ditto.
260 (__pthread_rwlock_trywrlock): Ditto.
261 (__pthread_rwlock_unlock): Ditto.
262 (__pthread_rwlockattr_init): Ditto.
263 (__pthread_rwlockattr_getpshared): Ditto.
264 (__pthread_rwlockattr_setpshared): Ditto.
265 (__pthread_rwlockattr_destroy): Ditto.
266 (__pthread_getconcurrency): Ditto.
267 (__pthread_setconcurrency): Ditto.
268 (__pthread_getschedparam): Ditto.
269 (__pthread_setschedparam): Ditto.
270
271 * thread.cc: Rename __pthread_equal to pthread_equal throughout.
272 Change pthread_self parameter appropriate.
273 (__pthread_attr_init): Remove __ prefix. Change to extern "C".
274 (__pthread_attr_destroy): Ditto.
275 (__pthread_attr_setdetachstate): Ditto.
276 (__pthread_attr_getdetachstate): Ditto.
277 (__pthread_attr_setstacksize): Ditto.
278 (__pthread_attr_getstacksize): Ditto.
279 (__pthread_attr_setinheritsched): Ditto.
280 (__pthread_attr_getinheritsched): Ditto.
281 (__pthread_attr_setschedparam): Ditto.
282 (__pthread_attr_getschedparam): Ditto.
283 (__pthread_attr_setschedpolicy): Ditto.
284 (__pthread_attr_getschedpolicy): Ditto.
285 (__pthread_attr_setscope): Ditto.
286 (__pthread_attr_getscope): Ditto.
287 (__pthread_attr_setstackaddr): Ditto.
288 (__pthread_attr_getstackaddr): Ditto.
289 (__pthread_key_create): Ditto.
290 (__pthread_key_delete): Ditto.
291 (__pthread_setspecific): Ditto.
292 (__pthread_getspecific): Ditto.
293 (__pthread_kill): Ditto.
294 (__pthread_sigmask): Ditto.
295 (__pthread_equal): Ditto.
296 (__pthread_mutex_lock): Ditto.
297 (__pthread_mutex_trylock): Ditto.
298 (__pthread_mutex_unlock): Ditto.
299 (__pthread_mutex_destroy): Ditto.
300 (__pthread_mutex_setprioceiling): Ditto.
301 (__pthread_mutex_getprioceiling): Ditto.
302 (__pthread_mutexattr_destroy): Ditto.
303 (__pthread_mutexattr_getprioceiling): Ditto.
304 (__pthread_mutexattr_getprotocol): Ditto.
305 (__pthread_mutexattr_getpshared): Ditto.
306 (__pthread_mutexattr_gettype): Ditto.
307 (__pthread_mutexattr_init): Ditto.
308 (__pthread_mutexattr_setprioceiling): Ditto.
309 (__pthread_mutexattr_setprotocol): Ditto.
310 (__pthread_mutexattr_setpshared): Ditto.
311 (__pthread_mutexattr_settype): Ditto.
312 (__pthread_cond_destroy): Ditto.
313 (__pthread_cond_signal): Ditto.
314 (__pthread_cond_broadcast): Ditto.
315 (__pthread_condattr_init): Ditto.
316 (__pthread_condattr_destroy): Ditto.
317 (__pthread_condattr_getpshared): Ditto.
318 (__pthread_condattr_setpshared): Ditto.
319 (__pthread_rwlock_destroy): Ditto.
320 (__pthread_rwlock_rdlock): Ditto.
321 (__pthread_rwlock_tryrdlock): Ditto.
322 (__pthread_rwlock_wrlock): Ditto.
323 (__pthread_rwlock_trywrlock): Ditto.
324 (__pthread_rwlock_unlock): Ditto.
325 (__pthread_rwlockattr_init): Ditto.
326 (__pthread_rwlockattr_getpshared): Ditto.
327 (__pthread_rwlockattr_setpshared): Ditto.
328 (__pthread_rwlockattr_destroy): Ditto.
329 (__pthread_getconcurrency): Ditto.
330 (__pthread_setconcurrency): Ditto.
331 (__pthread_getschedparam): Ditto.
332 (__pthread_setschedparam): Ditto.
333
00d296a3
TP
3342003-03-18 Thomas Pfaff <tpfaff@gmx.net>
335
336 * cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
337 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
338 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
339 pthread_rwlock_unlock, pthread_rwlockattr_init,
340 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
341 and pthread_rwlockattr_destroy.
342 * include/cygwin/version.h: Bump API minor number.
343 * include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
344 reasonable value.
345 Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
346 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
347 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
348 pthread_rwlock_unlock, pthread_rwlockattr_init,
349 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
350 and pthread_rwlockattr_destroy.
351 * thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
352 (PTHREAD_RWLOCK_MAGIC): New define.
353 (PTHREAD_RWLOCKATTR_MAGIC): Ditto.
354 (pthread_rwlockattr): New class.
355 (pthread_rwlock): Ditto.
356 (MTinterface::rwlocks): New member.
357 (MTinterface::MTinterface): Initialize rwlocks.
358 Add prototypes for __pthread_rwlock_destroy,
359 __pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
360 __pthread_rwlock_unlock, __pthread_rwlockattr_init,
361 __pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
362 and __pthread_rwlockattr_destroy.
363 * thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
364 (MTinterface::fixup_after_fork): Fixup rwlocks after fork.
365 (pthread_rwlockattr::isGoodObject): Implement.
366 (pthread_rwlockattr::pthread_rwlockattr): Ditto.
367 (pthread_rwlockattr::~pthread_rwlockattr): Ditto.
368 (pthread_rwlock::initMutex): Ditto.
369 (pthread_rwlock::pthread_rwlock): Ditto.
370 (pthread_rwlock::~pthread_rwlock): Ditto.
371 (pthread_rwlock::RdLock): Ditto.
372 (pthread_rwlock::TryRdLock): Ditto.
373 (pthread_rwlock::WrLock): Ditto.
374 (pthread_rwlock::TryWrLock): Ditto.
375 (pthread_rwlock::UnLock): Ditto.
376 (pthread_rwlock::addReader): Ditto.
377 (pthread_rwlock::removeReader): Ditto.
378 (pthread_rwlock::lookupReader): Ditto.
379 (pthread_rwlock::RdLockCleanup): Ditto.
380 (pthread_rwlock::WrLockCleanup): Ditto.
381 (pthread_rwlock::fixup_after_fork): Ditto.
382 (pthread_rwlock::isGoodObject): Ditto.
383 (pthread_rwlock::isGoodInitializer): Ditto.
384 (pthread_rwlock::isGoodInitializerOrObject): Ditto.
385 (pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
386 (__pthread_rwlock_destroy): Ditto.
387 (pthread_rwlock::init): Ditto.
388 (__pthread_rwlock_rdlock): Ditto.
389 (__pthread_rwlock_tryrdlock): Ditto.
390 (__pthread_rwlock_wrlock): Ditto.
391 (__pthread_rwlock_trywrlock): Ditto.
392
f592b05d
TP
3932003-03-18 Thomas Pfaff <tpfaff@gmx.net>
394
395 * thread.h (pthread_cond::ExitingWait): Remove.
396 (pthread_cond::mutex): Ditto.
397 (pthread_cond::cond_access): Ditto.
398 (pthread_cond::win32_obj_id): Ditto.
399 (pthread_cond::TimedWait): Ditto.
400 (pthread_cond::BroadCast): Ditto.
401 (pthread_cond::Signal): Ditto.
402 (pthread_cond::waiting): Change type to unsigned long.
403 (pthread_cond::pending): New member.
404 (pthread_cond::semWait): Ditto.
405 (pthread_cond::mtxIn): Ditto.
406 (pthread_cond::mtxOut): Ditto.
407 (pthread_cond::mtxCond): Ditto.
408 (pthread_cond::UnBlock): New method.
409 (pthread_cond::Wait): Ditto.
410 * thread.cc: Update list of cancellation points.
411 (pthread_cond::pthread_cond): Rewrite.
412 (pthread_cond::~pthread_cond): Ditto.
413 (pthread_cond::TimedWait): Remove.
414 (pthread_cond::BroadCast): Ditto.
415 (pthread_cond::Signal): Ditto.
416 (pthread_cond::UnBlock): Implement.
417 (pthread_cond::Wait): Ditto.
418 (pthread_cond::fixup_after_fork): Rewrite.
419 (pthread_mutex::fixup_after_fork): Remove DETECT_BAD_APP
420 conditional.
421 (__pthread_cond_broadcast): Just return 0 if the condition is
422 not initialized. Call pthread_cond::UnBlock to release blocked
423 threads.
424 (__pthread_cond_signal): Ditto.
425 (__pthread_cond__dowait): Rewrite.
426 (pthread_cond_timedwait): Add pthread_testcancel call. Fix
427 waitlength calculation.
428 (pthread_cond_wait): Add pthread_testcancel call.
429
2ff03dc2
TP
4302003-03-18 Thomas Pfaff <tpfaff@gmx.net>
431
432 * include/pthread.h (PTHREAD_MUTEX_NORMAL): New define.
433 * thread.cc: Remove errno.h include.
434 (pthread::precreate): Change internal mutex type to normal.
435 (pthread_mutex::canBeUnlocked): Implement.
436 (pthread_mutex::pthread_mutex): Initialize lock_counter with 0.
437 (pthread_mutex::Lock): Rename to _Lock. Add self parameter.
438 Change lock_counter logic. Update SetOwner call.
439 (pthread_mutex::TryLock): Rename to _TryLock. Add self parameter.
440 Change lock_counter logic. Update SetOwner call.
441 (pthread_mutex::UnLock): Rename to _UnLock. Add self parameter.
442 Change lock_counter logic.
443 (pthread_mutex::Destroy): Rename to _Destroy. Update TryLock call.
444 (pthread_mutex::SetOwner): Move to thread.h as inline.
445 (pthread_mutex::LockRecursive): Ditto.
446 (pthread_mutex::fixup_after_fork): Change lock_counter logic.
447 (__pthread_mutexattr_settype): Add PTHREAD_MUTEX_NORMAL to valid
448 types check.
449 * thread.h: Include errno.h and limits.h.
450 (MUTEX_LOCK_COUNTER_INITIAL): Remove.
451 (MUTEX_OWNER_ANONYMOUS): New define.
452 (pthread_mutex::canBeUnlocked): New static method.
453 (pthread_mutex::lock_counter): Change type to unsigned long.
454 (pthread_mutex::GetPthreadSelf): New method.
455 (pthread_mutex::Lock): Call _Lock with pthread_self pointer.
456 (pthread_mutex::TryLock): Call _TryLock with pthread_self pointer.
457 (pthread_mutex::UnLock): Call _UnLock with pthread_self pointer.
458 (pthread_mutex::Destroy): Call _Destroy with pthread_self pointer.
459 (pthread_mutex::SetOwner): Moved from thread.cc as inline.
460 (pthread_mutex::LockRecursive): Ditto.
461 (pthread_mutex::_Lock): New method.
462 (pthread_mutex::_TryLock): New method.
463 (pthread_mutex::_UnLock): New method.
464 (pthread_mutex::_Destroy): New method.
465
dcd350f0
CV
4662003-03-18 Christopher January <chris@atomice.net>
467
468 * fhandler_proc.cc (format_proc_cpuinfo): Use IsProcessorFeaturePresent
469 only on Windows NT. Read CPU Mhz value only on NT. Revert previous
470 change so cpuid instruction is called even on non-NT systems.
471
c51dc9c2
CV
4722003-03-17 Corinna Vinschen <corinna@vinschen.de>
473
474 * glob.c (g_lstat): Change API minor test to match API minor number
475 change in previous patch.
476 (g_stat): Ditto.
477
f194ba1f
CF
4782003-03-17 Christopher Faylor <cgf@redhat.com>
479
480 * include/cygwin/version.h: Reorganize last two api versions so that
481 btowc and trunc exports show up before previous bump since there has
482 been no exported version of the DLL with the 64 bit changes yet but
483 1.3.22 will have the btowc and trunc.
484
3543669f
CF
4852003-03-17 Christopher Faylor <cgf@redhat.com>
486
487 * cygwin.din: Export btowc, trunc.
488 * include/cygwin/version.h: Reflect new exports.
489 * syscalls.cc (_stat): Rename to stat to avoid newlib wrapper.
490 * syscalls.cc (_fstat): Ditto.
491
4922003-03-16 Christopher Faylor <cgf@redhat.com>
493
494 * fhandler_console.cc (fhandler_console::close): Correct check for
495 current tty. Add debugging output when console is freed.
496 (set_console_state_for_spawn): Add debugging output.
497 * fhandler_tty.cc (fhandler_tty_slave::open): Don't decrement console
498 open flag when vforking.
499 * sigproc.cc (sigproc_terminate): Fix debugging output.
500 * spawn.cc (handle): Eliminate second argument.
501 (spawn_guts): Reflect elimination of argument change to handle.
502 * syscalls.cc (setsid): Add debugging output when console is freed.
503
5042003-03-14 Christopher Faylor <cgf@redhat.com>
505
506 * syscalls.cc (rename): Revert assumption that DELETE_ON_CLOSE works on
507 Win9x.
508
41ffdfa5
CF
5092003-03-13 Christopher Faylor <cgf@redhat.com>
510
511 * include/cygwin/version.h: Bump DLL minor number to 23.
512
5b186cd9
CV
5132003-03-13 Corinna Vinschen <corinna@vinschen.de>
514
515 * autoload.cc (IsProcessorFeaturePresent): Add.
516 * fhandler_proc.cc (format_proc_cpuinfo): Add case for 9x systems.
517
c58555c7
CV
5182003-03-13 Corinna Vinschen <corinna@vinschen.de>
519
520 * fhandler_proc.cc (format_proc_cpuinfo): Fix vendor id in cpuid case.
521
49a0d53c
CV
5222003-03-13 Corinna Vinschen <corinna@vinschen.de>
523
524 * net.cc (cygwin_rcmd): Use correct file descriptor in call to fdsock.
525 (cygwin_rexec): Ditto.
526
6fcd5661
CF
5272003-03-13 Christopher Faylor <cgf@redhat.com>
528
529 * fhandler_tty.cc (fhandler_tty_slave::close): Fix typo in debug
530 output.
531
532 * syscalls.cc (rename): Assume that DELETE_ON_CLOSE works on Win9x.
533
aa39b7f7
CV
5342003-03-11 Corinna Vinschen <corinna@vinschen.de>
535
536 * fhandler_socket.cc (fhandler_socket::dup): Don't call
537 fhandler_base::dup() but call DuplicateHandle directly instead to have
538 control over socket inheritence.
539
2afa7f58
CV
5402003-03-11 Corinna Vinschen <corinna@vinschen.de>
541
542 * fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
543 using WinSock2 socket duplication methods. Add comment.
544
5452003-03-11 Pierre Humblet <pierre.humblet@ieee.org>
546
547 * fhandler_socket.cc (fhandler_socket::fixup_after_fork):
548 Set io_handle to INVALID_SOCKET in case of failure.
549 (fhandler_socket::dup): Return 0 if the io_handle is valid.
550
556ceaeb
CV
5512003-03-10 Corinna Vinschen <corinna@vinschen.de>
552
553 * sec_acl.cc (setacl): Don't handle DELETE flag specially.
554 * security.cc (alloc_sd): Ditto.
555
a201401c
CV
5562003-03-09 Corinna Vinschen <corinna@vinschen.de>
557
6bbf711e 558 * winver.rc: Change Copyright hint to include 2003.
a201401c 559
b1aae492
CV
5602003-03-09 Corinna Vinschen <corinna@vinschen.de>
561
562 Switch to 32/64 datatypes:
563 * Makefile.in (OBSOLETE_FUNCTIONS): Add open acl aclcheck aclfrommode
564 aclfrompbits aclfromtext aclsort acltomode acltopbits acltotext chown
565 facl fchown fgetpos fopen freopen fseeko fsetpos fstat ftello
566 ftruncate getegid geteuid getgid getgrent getgrgid getgrnam getgroups
567 getpwuid getpwuid_r getuid initgroups lchown lseek lstat mknod mmap
568 seekdir setegid seteuid setgid setgroups setregid setreuid setuid stat
569 telldir truncate.
570 (NEW_FUNCTIONS): Add _open64 acl32 aclcheck32 aclfrommode32
571 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
572 acltotext32 chown32 facl32 fchown32 fgetpos64 fopen64 freopen64
573 fseeko64 fsetpos64 fstat64 ftello64 ftruncate64 getegid32 geteuid32
574 getgid32 getgrent32 getgrgid32 getgrnam32 getgroups32 getpwuid32
575 getpwuid_r32 getuid32 initgroups32 lchown32 lseek64 lstat64 mknod32
576 mmap64 seekdir64 setegid32 seteuid32 setgid32 setgroups32 setregid32
577 setreuid32 setuid32 stat64 telldir64 truncate64 to substitute the
578 above.
579 * cygserver_shm.h (class client_request_shm): Change uid_t and gid_t
580 members to __uid32_t and __gid32_t.
581 * cygwin.din: Add symbols acl32 aclcheck32 aclfrommode32
582 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
583 acltotext32 facl32 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64
584 _fstat64 ftello64 _lseek64 mknod32 _open64.
585 * glob.c: Include perprocess.h.
586 (globtilde): Call getpwuid32 and getuid32 instead of getpwuid and
587 getuid.
588 (g_lstat): Check for applications API version to call the appropriate
589 typed gl_lstat function.
590 (g_stat): Ditto for gl_stat.
591 * shm.cc (client_request_shm::client_request_shm): Call geteuid32
592 and getegid32 instead of geteuid and getegid throughout.
593 * syscalls.cc (_open64): New alias for open.
594 (_lseek64): New alias for lseek64.
595 (_fstat64): New alias for fseek64.
596 (mknod32): New function.
597 (mknod): Calls mknod32 now.
598 * winsup.h: Make function declarations for getuid32, geteuid32,
599 and getpwuid32 accessible for plain C sources. Add declarations
600 for getegid32 and getpwnam.
601 * include/cygwin/version.h: Bum API minor number to 78.
602 * include/sys/cygwin.h: Guard C++ specific members of struct
603 per_process against inclusion in plain C sources.
604 * include/sys/mman.h (mman): Add guard to avoid type clash when
605 compiling Cygwin.
606
659fb3ff
CF
6072003-03-09 Christopher Faylor <cgf@redhat.com>
608
d580d86c 609 * include/cygwin/version.h: Bump DLL minor number to 22.
659fb3ff 610
c367dfd0
CF
6112003-03-09 Christopher Faylor <cgf@redhat.com>
612
613 Do some minor reformatting of 'extern "C"' use throughout.
614
6152003-03-06 Christopher January <chris@atomice.net>
616
617 * autoload.cc (GetSystemTimes): Define new autoload function.
618 * fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries.
619 (fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS
620 cases.
621 (format_proc_uptime): Use GetSystemTimes if available.
622 (read_value): New macro.
623 (print): New macro.
624 (cpuid): New function.
625 (can_set_flag): New function.
626 (format_proc_cpuinfo): New function.
627 (format_proc_partitions): New function.
628
36c4a441
CF
6292003-03-09 Christopher Faylor <cgf@redhat.com>
630
631 * syscalls.cc (unlink): Attempt to be more clever about setting
632 attributes of file. Only open file in query mode to avoid having to
633 mess with security stuff for reading.
634
639ebe29
CV
6352003-03-09 Corinna Vinschen <corinna@vinschen.de>
636
637 * rmsym: Fix regular expression.
638
3a1d827f
CF
6392003-03-09 Christopher Faylor <cgf@redhat.com>
640
641 * Makefile.in: Change from using new-* to cygwin0 for temporary
642 targets.
643
ca0e9071
CV
6442003-03-09 Corinna Vinschen <corinna@vinschen.de>
645
646 * include/cygwin/socket.h: Set SOMAXCONN to Winsock2 value.
647
ed269cea
CF
6482003-03-08 Christopher Faylor <cgf@redhat.com>
649
650 * syscalls.cc (unlink): Always attempt to use FILE_FLAG_CLOSE_ON_DELETE
651 to delete files since this allows us to preserve the protection of hard
652 linked files.
653 (link): Generate full path for potentially recalculated .lnk target.
654
1114c3d0
CF
6552003-03-08 Christopher Faylor <cgf@redhat.com>
656
657 Revert below changes regarding _pinfo::cmdline.
658
d66ac2bc
CV
6592003-03-08 Corinna Vinschen <corinna@vinschen.de>
660
661 * external.cc (cygwin_internal): Change n to __off64_t to match change
662 of _pinfo::cmdline.
663 * fhandler.h (class fhandler_virtual): Change filesize member to
664 __off64_t.
665 * fhandler_proc.cc (format_proc_meminfo): Change to return __off64_t.
666 (format_proc_stat): Ditto.
667 (format_proc_uptime): Ditto.
668 * fhandler_process.cc (format_process_stat): Ditto.
669 (format_process_status): Ditto.
670 (format_process_statm): Ditto.
671 * pinfo.cc (_pinfo::cmdline): Expect __off64_t parameter.
672 * pinfo.h (class _pinfo): Change declaration of cmdline accordingly.
673
762520f3
CF
6742003-03-07 Christopher Faylor <cgf@redhat.com>
675
676 * path.h (PATH_LNK): New enum val.
677 (path_conv::is_lnk_symlink): New function. True if path represents
678 .lnk style symlink.
679 * path.cc (check_shortcut): Set PATH_LNK in pflags when appropriate.
680 (symlink_info::check): Ditto. Remove PATH_LNK from pflags initially.
681 * syscalls.cc (unlink): Always remove readonly attribute from a symlink
682 regardless of type.
683 (link): (from Corinna Vinschen) Allow links to symlinks. Reset
684 attributes on a symlink after successful link creation.
685 (chmod): Use is_lnk_symlink where appropriate.
686 (rename): Ditto.
687
6882003-03-07 Pierre Humblet <pierre.humblet@ieee.org>
689
690 * tty.cc (create_tty_master): Call GetComputerName instead of
691 cygwin_gethostname. Set ut_id.
692 * syscalls.cc (login): Call endutent.
693 (setutent): Do not seek after a fresh open.
694
6f8102cb
CV
6952003-03-07 Corinna Vinschen <corinna@vinschen.de>
696
697 * syscalls.cc (seteuid32): Fix formatting.
698
88243328
TP
6992003-03-04 Thomas Pfaff <tpfaff@gmx.net>
700
701 * thread.cc (MTinterface::fixup_after_fork): Initialize mainthread
702 prior to pthread objects.
762520f3 703
12390bc4
CV
7042003-03-04 Jason Tishler <jason@tishler.net>
705
706 * fhandler_socket.cc (fhandler_socket::dup): Initialize type.
707
c418817e
CF
7082003-03-03 Christopher Faylor <cgf@redhat.com>
709
710 * fhandler.h (fhandler_tty_slave::close): Declare new function.
711 (fhandler_tty_slave::dup): Declare new function.
712 (fhandler_tty_slave::fixup_after_function): Declare new function.
713 * fhandler_tty.cc (fhandler_tty_slave_open): Only increment
714 fhandler_console::open_fhs when associated with a pty.
715 (fhandler_tty_slave::close): Define new function. Decrement
716 fhandler_console::open_fhs when associated with a pty.
717 (fhandler_tty_slave::dup): Define new function. Increment
718 fhandler_console::open_fhs when associated with a pty.
719 (fhandler_tty_slave::fixup_after_fork): Define new function. Increment
720 fhandler_console::open_fhs when associated with a pty.
721
e11fe31b
CF
7222003-03-03 Christopher Faylor <cgf@redhat.com>
723
724 * fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
725 fhandler_console::open_fhs here.
726 (fhandler_pty_slave::close): Ditto for close.
727
cffdb4b1
CF
7282003-03-02 Christopher Faylor <cgf@redhat.com>
729
730 * lib/getopt.c: Refresh from NetBSD sources.
731
d5d2ffee
CF
7322003-03-02 Christopher Faylor <cgf@redhat.com>
733
734 * fhandler_console.cc (fhandler_console::close): Don't decrement
735 in use counter if in vfork fixup stage.
736
c2c6b170
CF
7372003-03-02 Christopher Faylor <cgf@redhat.com>
738
739 * lib/getopt.c: Nuke use of unneeded BSDisms.
740
8b19b43d
CF
7412003-03-02 Christopher Faylor <cgf@redhat.com>
742
743 * dll_init.cc (dll_list::load_after_fork): Don't revert to LoadLibrary
744 if LoadLibraryEx fails.
745 * dtable.cc (dtable::dec_console_fds): Eliminate.
746 (dtable::release): Don't treat console specially.
747 (dtable::build_fhandler): Ditto.
748 * dtable.h (console_fds): Eliminate.
749 (dtable::dec_console_fds): Eliminate.
750 (dtable::inc_console_fds): Eliminate.
751 * fhandler.h (fhandler_console::open_fhs): New static element.
752 * fhandler_console.cc (fhandler_console::open): Increment open_fs.
753 (fhandler_console::close): Call FreeConsole if no more open consoles
754 and ctty is not associated with the console.
755 * syscalls.cc (setsid): Simplify check for when to call FreeConsole.
756 (check_pty_fds): Eliminate definition.
757 * winsup.h (check_pty_fds): Eliminate declaration.
758
3efc65f7
CF
7592003-03-02 Christopher Faylor <cgf@redhat.com>
760
761 * dll_init.cc (dll_list::load_after_fork): Fix typo where result of
762 LoadLibrary was ignored.
763
5a082e9e
CV
7642003-03-01 Corinna Vinschen <corinna@vinschen.de>
765
766 * fhandler_socket.cc (fhandler_socket::bind): Open and write socket
767 file using Win32 calls.
768
9d913f07
CV
7692003-03-01 Corinna Vinschen <corinna@vinschen.de>
770
771 * fhandler_socket.cc (get_inet_addr): Open and read socket file using
772 Win32 calls.
773
005c3065
CF
7742003-02-28 Christopher Faylor <cgf@redhat.com>
775
776 * cygwin.din: Wrap atexit and exit with cygwin, thread-safe functions.
777 * dcrt0.cc (cygwin_atexit): New function.
778 (cygwin_exit): Ditto.
779
27b4082a
PH
7802003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
781
782 * syscalls.cc (fstat64): Pass get_name () to pc.
005c3065 783 (access): Pass fn to stat_worker.
27b4082a
PH
784
7852003-03-27 Corinna Vinschen <corinna@vinschen.de>
5777b970
CV
786
787 * fhandler_socket.cc (class sock_event): New class managing Winsock
788 events for interruptible socket calls.
789 (fhandler_socket::connect): Move support for interruptible call to
790 class sock_event. Use class object instead.
791 (fhandler_socket::accept): Ditto. Remove useless casts.
792
005c3065 7932003-03-27 Thomas Pfaff <tpfaff@gmx.net>
5777b970
CV
794
795 * fhandler_socket.cc (fhandler_socket::connect): Add support for
796 an interruptable connect.
797
7b2ce663
CV
7982003-02-27 Pierre Humblet <pierre.humblet@ieee.org>
799
800 * uinfo.cc (internal_getlogin): Only update user.groups.pgsid
801 if the call to set the primary group succeeds.
802
0e7a60fe
CF
8032003-02-27 Christopher Faylor <cgf@redhat.com>
804
805 * cygthread::detach: Improve error message.
806
61a52599
CV
8072003-02-26 Pierre Humblet <pierre.humblet@ieee.org>
808
809 * sec_helper.cc (get_sids_info): debug_print owner_sid and group_sid.
810
6b9a9ce6
CV
8112003-02-25 Corinna Vinschen <corinna@vinschen.de>
812
813 * mmap.cc (mmap64): Fix returned address by taking the granularity
814 into account.
815
1ffc44aa
PH
8162003-02-23 Pierre Humblet <pierre.humblet@ieee.org>
817
818 * syslog.cc (syslog): Do not unlock the file before closing it
819 and remove debug_printf about stream errors.
820
a066f364
CF
8212003-02-22 Christopher Faylor <cgf@redhat.com>
822
823 * cygmalloc.h: Remove MORECORE_CANNOT_TRIM. It's not true.
824 # cygwin.din: Export mallinfo.
825 # malloc_wrapper.cc (mallinfo): New function.
826
878e60c5
CF
8272003-02-22 Pierre Humblet <pierre.humblet@ieee.org>
828
829 * syslog.cc (syslog): Do not print the Windows pid. Print the Cygwin
830 pid as an unsigned decimal. On Win95 print a timestamp and attempt to
831 lock the file up to four times in 3 ms.
832
b1d1e50d
CV
8332003-02-21 Corinna Vinschen <corinna@vinschen.de>
834
835 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Fix compiler
836 warning.
837 (fhandler_socket::fstat): Simplify. Set st_uid/st_gid to effective
838 uid/gid of current process in case of open sockets.
839
cf762b08
CV
8402003-02-21 Corinna Vinschen <corinna@vinschen.de>
841
842 * dtable.cc (dtable::build_fhandler_from_name): Set some fhandler
843 data on sockets to evaluate AF_LOCAL sockets correctly.
844 (dtable::build_fhandler): Set unit number on sockets.
845 * fhandler.h (fhandler_socket): Add unit number.
846 (fhandler_socket::get_unit): New method.
847 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Set unit
848 number.
849 (fhandler_socket::fstat): Reorganize to return more Linux-like
850 values.
851 * net.cc: include ctype.h.
852 (fdsock): Set unit number when building fhandler.
853 * path.cc (path_conv::check): Set device type to FH_SOCKET if file
854 is a AF_UNIX socket.
855 (get_devn): Evaluate unit for virtual socket devices.
856 (win32_device_name): Set windows path for sockets to unix_path with
857 just backslashes to keep the different names.
858 * syscalls.cc (fstat64): Don't override st_ino, st_dev and st_rdev
859 for sockets.
860 (stat_worker): Ditto.
861
8622003-02-21 Pierre Humblet <pierre.humblet@ieee.org>
863
864 * autoload.cc (AccessCheck): Add.
865 (DuplicateToken): Add.
866 * security.h (check_file_access): Declare.
867 * syscalls.cc (access): Convert path to Windows, check existence
868 and readonly attribute. Call check_file_access instead of acl_access.
869 * security.cc (check_file_access): Create.
870 * sec_acl (acl_access): Delete.
871
5cd82412
CF
8722003-02-19 Christopher Faylor <cgf@redhat.com>
873
874 * fhandler.cc (fhandler_base::open): Move some filesystem specific
875 stuff.
876 (fhandler_disk_file::open): Accept some filesystem specific stuff.
877 * sigproc.cc (wait_for_sigthread): Become slightly more thread safe.
878 (sig_send): Don't assume that signal thread is ready.
879
892d8962
CV
8802003-02-20 Corinna Vinschen <corinna@vinschen.de>
881
882 * wincap.h (wincap): Remove unnecessary definition of
883 supports_sparse_files.
884 * wincap.cc: Ditto.
885
518f5d49
CV
8862003-02-20 Corinna Vinschen <corinna@vinschen.de>
887
888 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check descriptor
889 created by cygheap_fdnew constructor.
890 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
891 * fhandler_socket.cc (fhandler_socket::accept): Ditto and move
892 creation of file descriptor behind blocking OS call.
893 * net.cc (cygwin_socket): Ditto.
894 (cygwin_rcmd): Ditto.
895 (cygwin_rresvport): Ditto.
896 (cygwin_rexec): Ditto.
897 (socketpair): Ditto.
898
3a88cf1b
CV
8992003-02-20 Corinna Vinschen <corinna@vinschen.de>
900
901 * autoload.cc (GetCompressedFileSize): Add.
902 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Compute
903 st_blocks value from GetCompressedFileSize() if available.
904
79207923
CV
9052003-02-18 Vaclav Haisman <V.Haisman@sh.cvut.cz>
906
907 * wincap.h (wincaps::supports_sparse_files): New flag.
908 (wincapc::supports_sparse_files): New method.
909 * wincap.cc (wincap_unknown): Define value for the new flag.
910 (wincap_95): Ditto.
911 (wincap_95osr2): Ditto.
912 (wincap_98): Ditto.
913 (wincap_98se): Ditto.
914 (wincap_me): Ditto.
915 (wincap_nt3): Ditto.
916 (wincap_nt4): Ditto.
917 (wincap_nt4sp4): Ditto.
918 (wincap_2000): Ditto.
919 (wincap_xp): Ditto.
920 * path.h (path_conv::fs_flags): New method.
005c3065
CF
921 * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl.
922 (fhandler_disk_file::open): Set newly created and truncated files as
79207923
CV
923 sparse on platforms that support it.
924
afe13e84
CV
9252003-02-17 Pierre Humblet <pierre.humblet@ieee.org>
926
927 * grp.cc (internal_getgroups): Handle properly tokens with
928 no groups. Fix bug introduced on 2003-02-04.
929
8fc16812
CF
9302003-02-16 Christopher Faylor <cgf@redhat.com>
931
408e9b2f 932 * cygwin.din: Export all appropriate newlib libm functions. Sort.
8fc16812
CF
933 * include/cygwin/version.h: Bump API minor number.
934
f655eadf
CF
9352003-02-15 Christopher Faylor <cgf@redhat.com>
936
8fc16812 937 * cygwin.din: Export all appropriate newlib libc functions.
f655eadf
CF
938 * include/cygwin/version.h: Bump API minor number.
939
4d9ba012
CV
9402003-02-14 Jason Tishler <jason@tishler.net>
941
942 * mmap.cc (mprotect): Add missing break.
943
dff01e3a
CF
9442003-02-13 Christopher Faylor <cgf@redhat.com>
945
946 * exceptions.cc (try_to_debug): Don't reset priority when returning
947 from non-waitloop call.
d1d1797e
CF
948
9492003-02-13 Vaclav Haisman <V.Haisman@sh.cvut.cz>
005c3065 950 Christopher Faylor <cgf@redhat.com>
d1d1797e
CF
951
952 * fhandler_console.cc (fhandler_console::write_normal): Use MessageBeep
953 for bell sound.
954 * autoload.cc (MessageBeep): Add.
955
97c61aeb
CF
9562003-02-13 Christopher Faylor <cgf@redhat.com>
957
958 * include/cygwin/types.h: Use correct ifdef guard for u_ definitions.
959
a200c081
CF
9602003-02-13 Christopher Faylor <cgf@redhat.com>
961
962 * environ.cc (environ_init): Use strechr.
963
2858de3a
CF
9642003-02-13 Christopher Faylor <cgf@redhat.com>
965
966 * include/cygwin/in.h (sockaddr_in): Fix typo.
967
75c8a70c
CF
9682003-02-12 Christopher Faylor <cgf@redhat.com>
969
970 * path.h (path_conv): Reorganize slightly.
971
939d19b0
CF
9722003-02-12 Christopher Faylor <cgf@redhat.com>
973
974 * fhandler_tty.cc (process_input): Add sanity check to ensure that
975 console typeahead is cleared on signal.
976
7a44ba05
CF
9772003-02-12 Christopher Faylor <cgf@redhat.com>
978
979 * spawn.cc (linebuf::~linebuf): Resurrect commented out (for
980 debugging?) code.
981
407b8df6
CF
9822003-02-10 Ralf Habacker <ralf.habacker@freenet.de>
983
984 * include/cygwin/in.h (in_attr_t): Define new type.
985 * include/arpa/inet.h (inet_addr): Change return type to in_addr_t.
986 (inet_lnaof): Ditto.
987 (inet_netof): Ditto.
988 (inet_network): Ditto.
989
9902003-02-10 Christopher Faylor <cgf@redhat.com>
991
992 * include/cygwin/types.h: Move many *_t typedefs here. Protect them
993 with ifdefs.
994 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Change ntsec_atts to mode_t.
995 * security.cc (get_attribute_from_acl): Accept mode_t attribute.
996 (get_nt_attribute): Ditto.
997 (get_file_attribute): Ditto.
998 (get_nt_object_attribute): Ditto.
999 (get_object_attribute): Ditto.
1000 * security.h: Reflect above changes.
1001 * syscalls.cc (chown_worker): Change attrib to mode_t.
1002
ad80bc42
CF
10032003-02-08 Christopher Faylor <cgf@redhat.com>
1004
67c64e3b 1005 * include/cygwin/version.h: Bump DLL minor number to 21.
ad80bc42
CF
1006
10072003-02-07 Christopher Faylor <cgf@redhat.com>
1008
1009 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Bump down to 16MB thanks to below
1010 changes.
1011
4136fdb1
CV
10122003-02-07 Corinna Vinschen <corinna@vinschen.de>
1013
1014 * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and length
1015 parameter. Only protect pages actually unused currently. Do job
1016 of map_map() when initializing a map.
1017 (mmap_record::map_map): Reduce functionality for the reuse case
1018 of private anonymous mapping.
1019 (mmap_record::fixup_map): Format change.
1020 (list::add_record): Add offset and length parameter to call
1021 mmap_record::alloc_map() correctly.
1022 (mmap64): Rename `l' variable to `map_list'. Accomodate above changes.
1023 (munmap): Rename `l' variable to `map_list'.
1024 (msync): Ditto.
1025 (fhandler_disk_file::mmap): Streamline code.
1026 (mprotect): Ditto.
1027 (fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
1028
49b84ce4
CF
10292003-02-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
1030 Christopher Faylor <cgf@redhat.com>
1031
1032 * exceptions.cc (try_to_debug): Set priority of current thread rather
1033 than the main thread. Make busy waiting loop less busy. Restore
1034 priority when function returns.
1035
bc5b63ed
CF
10362003-02-07 Christopher Faylor <cgf@redhat.com>
1037
1038 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
1039
10402003-02-07 Christopher Faylor <cgf@redhat.com>
1041
1042 * pipe.cc (fhandler_pipe::close): Avoid extraneous this->.
1043
1de8d164
CF
10442003-02-06 Christopher Faylor <cgf@redhat.com>
1045
1046 * heap.cc (heap_init): Remove debugging code.
1047
565e8015
CV
10482003-02-06 Pierre Humblet <pierre.humblet@ieee.org>
1049
1050 * security.h: Introduce names UNKNOWN_UID and UNKNOWN_GID and delete
1de8d164 1051 declaration of is_grp_member.
565e8015
CV
1052 * uinfo.cc (internal_getlogin): Use UNKNOWN_GID.
1053 * passwd.cc (pwdgrp::read_passwd): Use UNKNOWN_UID.
1054 * grp.cc (pwdgrp::read_group): Change group name to provide better
1055 feedback.
1056 (getgrgid): Use gid16togid32.
1057 * sec_helper.cc (is_grp_member): Delete.
1058
d238c1b4
CF
10592003-02-05 Christopher Faylor <cgf@redhat.com>
1060
1061 * path.cc: Change 'to_posix_p' to 'to_posix' throughout.
1062 (conv_path_list_buf_size): Accommodate relative paths.
1063
b7f52fe8
CF
10642003-02-05 Christopher Faylor <cgf@redhat.com>
1065
1066 * path.cc (etc::dir_changed): Fix debug printf.
1067
62cd433e
CV
10682003-02-05 Corinna Vinschen <corinna@vinschen.de>
1069
1070 * sec_acl.cc (setacl): Move all permission settings to beginning of
1071 loop. Set default rights to same values as in alloc_sd(). Set DELETE
1072 for owner and default owner only if S_IWOTH is given.
1073
10742003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
1075
1076 * sec_acl.cc: Change all __aclent16_t to __aclent32_t except in
1077 wrapper function definitions. Replace call to the aclXYZ functions by
1078 calls aclXYZ32.
1079 (searchace): Change type of third argument to __uid32_t and use
1080 ILLEGAL_UID instead of -1;
1081 (setacl): Remove some initializations. Only give STANDARD_RIGHTS_WRITE
1082 for S_IWOTH. Replace -1 by ILLEGAL_UID.
1083 (getacl): Change type of owner_sid, group_sid and ace_sid to cygpsid.
1084 In last else clause, suppress second call to ace_sid.get_id and use
1085 TRUE in first call. Replace EqualSid by ==.
1086 (acl_access): Call internal_getgroups in USER and GROUP cases.
1087 (acecmp: Define static.
1088 (acl32): Create from 16 bit type.
1089 (facl32): Ditto.
1090 (lacl32): Ditto.
1091 (aclcheck32): Ditto.
1092 (aclsort32): Ditto.
1093 (acltomode32): Ditto.
1094 (aclfrommode32): Ditto.
1095 (acltopbits32): Ditto.
1096 (aclfrompbits32): Ditto.
1097 (acltotext32): Ditto.
1098 (aclfromtext32): Ditto, and use strechr.
1099 (acl16to32): Create.
1100 (acl): Make it a wrapper function.
1101 (facl): Ditto.
1102 (lacl): Ditto.
1103 (aclcheck): Ditto.
1104 (aclsort): Ditto.
1105 (acltomode): Ditto.
1106 (aclfrommode): Ditto.
1107 (acltopbits): Ditto.
1108 (aclfrompbits): Ditto.
1109 (acltotext): Ditto.
1110 (aclfromtext): Ditto.
1111 * security.cc (write_sd): Call set_process_privilege and check
1112 ownership.
1113 (alloc_sd): Remove call to set_process_privilege and the owner check.
1114
cadd065b
CF
11152003-02-05 Christopher Faylor <cgf@redhat.com>
1116
1117 * include/sys/cygwin.h: Use C-style comments.
1118
0c8455c3
CV
11192003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
1120
1121 * sec_helper.cc (get_sids_info): New function.
1122 * security.cc (extract_nt_dom_user): Simplify with strechr.
1123 (get_user_groups): Initialize glen to MAX_SID_LEN.
1124 (get_user_local_groups): Ditto.
1125 (get_attribute_from_acl): Define ace_sid as cygpsid.
1126 (get_nt_attribute): Define owner_sid and group_sid as cygpsid.
1127 Call get_sids_info instead of cygsid.get_{u,g}id and is_grp_member.
1128 (get_nt_object_attribute): Ditto.
1129 (alloc_sd): Define ace_sid as cygpsid.
1130
5ae9331a
TP
11312003-02-04 Thomas Pfaff <tpfaff@gmx.net>
1132
1133 * syscalls.cc (struct system_cleanup_args): New struct.
1134 (system_cleanup): New function.
1135 (system): Use pthread_cleanup_push and _pop to save and restore
1136 signal handlers and sigprocmask.
1137
3dbafd87
CV
11382003-02-04 Corinna Vinschen <corinna@vinschen.de>
1139
1140 * path.cc (symlink): Create security attributes so that only the
1141 user can modify the symlink.
1142 * security.cc (set_security_attribute): Remove symlink special
1143 handling.
1144
0daf2561
CV
11452003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
1146
1147 * grp.cc (internal_getgroups): Do not return without closing
1148 the process handle.
1149
4a21c2d5
CV
11502003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
1151
1152 * security.h (class cygpsid): New class.
1153 (class cygsid): Use cygpsid as base. Remove members psid, get_id,
1154 get_uid, get_gid, string, debug_printf and the == and != operators.
1155 (cygsidlist::clear_supp): Only do work if setgroups has been called.
1156 * sec_helper.cc: Define sid_auth NO_COPY.
1157 (cygpsid::operator==): New operator.
1158 (cygpsid::get_id): New function.
1159 (cygpsid::string): New function.
1160 (cygsid::string): Delete.
1161 (cygsid::get_id): Delete.
1162 * pwdgrp.h: Change arguments of internal_getpwsid,
1163 internal_getgrsid and internal_getgroups to cygpsid.
1164 * passwd.cc (internal_getpwsid): Change argument from cygsid to cygpsid.
d238c1b4 1165 * grp.cc (internal_getgrsid): Ditto.
4a21c2d5
CV
1166 (internal_getgroups): Ditto.
1167
335556d5
CF
11682003-02-03 Christopher Faylor <cgf@redhat.com>
1169
1170 Eliminate most unneeded this-> pointers throughout.
1171
153e83c6
CV
11722003-02-03 Pierre Humblet <pierre.humblet@ieee.org>
1173
1174 * security.h: Add third argument to set_process_privilege.
1175 * autoload.cc: Add OpenThreadToken.
1176 * sec_helper.cc (set_process_privilege): Add and use use_thread
1177 argument.
1178 * security.cc (alloc_sd): Modify call to set_process_privilege.
1179 Remember the result in each process. If failed and file owner is not
1180 the user, fail.
1181
f0f3ea68
CV
11822003-02-03 Corinna Vinschen <corinna@vinschen.de>
1183
1184 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
1185 length and don't set errno in case of WSAEMSGSIZE error.
1186 (fhandler_socket::recvmsg): Ditto.
1187
6688a061
CF
11882003-02-01 Christopher Faylor <cgf@redhat.com>
1189
1190 * grp.cc (getgrent32): Only refresh group entries when at beginning.
1191 (internal_getgrsid): Only refresh if uninitialized.
1192 (internal_getgrent): Ditto.
1193 * passwd.cc (getpwent): Only refresh passwd entries when at beginning.
1194 (pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
1195 (internal_getpwsid): Only refresh if uninitialized.
1196 (getpass): No need to refresh passwd data here.
1197 * pwdgrp.h (refresh): Eliminate default.
1198
a5a93a62
CF
11992003-01-31 Christopher Faylor <cgf@redhat.com>
1200
1201 * dlfcn.cc (dlerror): Only report load errors once per error.
1202
b0a82a85
CF
12032003-01-31 Christopher Faylor <cgf@redhat.com>
1204
1205 * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting
1206 of res.
1207
1208 * termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
1209
12102003-01-31 Troy Curtiss <troyc@usa.net>
1211
1212 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking
1213 so that if any Win32 SetComm*() calls fail, errno gets set to EINVAL
1214 and tcsetattr() returns -1. Catch invalid bitrates, mostly. If baud
1215 rate setting is B0, just drop DTR and leave Win32 DCB bitrate as-is
1216 since 0 is not a valid Win32 setting.
1217 (fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as
1218 B0, otherwise get it from the DCB.
1219
949c3da1
CF
12202003-01-31 Christopher Faylor <cgf@redhat.com>
1221
1222 * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from
1223 Pierre Humblet).
1224 * pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already
1225 have lock since that means we are in the process of reading the file.
1226
485d85bf
CF
12272003-01-31 Jason Tishler <jason@tishler.net>
1228
1229 * shared.cc (shared_info::heap_chunk_size): Use correct variable when
1230 reading HKLM.
1231
704ce461
CF
12322003-01-30 Christopher Faylor <cgf@redhat.com>
1233
1234 * fhandler_registry.cc (fhandler_registry::exists): Fix off-by-one
1235 error when inspecting path.
1236
ba6e1083
CF
12372003-01-29 Christopher Faylor <cgf@redhat.com>
1238
1239 * lib/getopt.c: Allow environment variable control of POSIXLY_INCORRECT
1240 behavior.
1241
12422003-01-28 Corinna Vinschen <corinna@vinschen.de>
01e3c897
CV
1243
1244 * fhandler_socket.cc (fhandler_socket::accept): On successful execution
1245 set connection state of returned socket to CONNECTED.
1246
dfb366da
CF
12472003-01-27 Christopher Faylor <cgf@redhat.com>
1248
1249 * passwd.cc (pwdgrp::parse_passwd): Be more unforgiving about
1250 non-numeric fields.
1251
03dba1de
CF
12522003-01-26 Christopher Faylor <cgf@redhat.com>
1253
1254 * uinfo.cc (pwdgrp::next_num): Remove check for NULL since it is no
1255 longer a valid return from next_str.
1256 (pwdgrp::add_line): Duh. Revert to use strchr.
1257
fea48988
CF
12582003-01-26 Christopher Faylor <cgf@redhat.com>
1259
ca6018a0 1260 * string.h (strechr): New function.
fea48988
CF
1261 * uinfo.cc (pwdgrp::next_str): Search only for input char in string.
1262 Return EOS on failure. Don't check for NULL since it shouldn't be
1263 possible.
1264 (pwdgrp::add_line): Revert to replacing '\n' in input line with '\0'.
1265 (pwdgrp::next_num): Pass explicit separator character to next_str.
1266 * grp.cc (pwdgrp::parse_group): Ditto.
1267 * passwd.cc (pwdgrp::parse_passwd): Ditto. Revamp test for garbage
1268 input.
1269 * pwdgrp.h (pwdgrp::next_str): Don't use default parameter.
1270
9a751621
CF
12712003-01-26 Christopher Faylor <cgf@redhat.com>
1272
1273 * uinfo.cc (pwdgrp::load): Regularize strace output. Add warning for
1274 CreateFile failure.
1275
c9133395
CF
12762003-01-26 Christopher Faylor <cgf@redhat.com>
1277
bdbd7fb6
CF
1278 * passwd.cc (pwdgrp::parse_passwd): Eliminate use of memset. The
1279 structure should always be completely filled out.
1280 * grp.cc (pwdgrp::parse_group): Ditto.
1281
12822003-01-26 Christopher Faylor <cgf@redhat.com>
1283
1284 * grp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
c9133395 1285 gr_mem.
65037056
CF
1286
12872003-01-26 Christopher Faylor <cgf@redhat.com>
1288
1289 * include/sys/strace.h (paranoid_printf): Define as not being part of
1290 "all" output.
1291
12922003-01-25 Christopher Faylor <cgf@redhat.com>
1293
1294 * pwdgrp.h (pwdgrp::next_num): Rename from next_int. Returns
1295 true/false if parse operation succeeded.
1296 (pwdgrp::reparse): Remove.
1297 (pwdgrp::raw_ptr): New function. Returns pointer in line.
1298 (pwdgrp::next_num): New functions for parsing other than unsigned long.
1299 * grp.cc (pwdgrp::parse_group): Reinstate previous parsing behavior.
1300 Don't fill in fields with NULL and assign empty gr_mem to known pointer
1301 rather than doing a pointless calloc. Streamline gr_mem parsing.
1302 Don't increment curr_lines here.
1303 * passwd.cc (pwdgrp::parse_passwd): Use new behavior of next_num.
1304 Don't increment curr_lines here.
1305 * uinfo.cc (pwdgrp::next_str): Keep returning EOL if out of data.
1306 (pwdgrp::reparse): Remove.
1307 (pwdgrp::next_num): Rename from next_int. Return bool indicating
1308 success of parse, argument returns value parsed.
1309 (pwdgrp::add_line): Increment curr_lines here on successful parse.
1310 (pwdgrp::load): (from Pierre Humblet) Don't return status. Just report
1311 it here.
1312
a53ddfe6
CF
13132003-01-25 Christopher Faylor <cgf@redhat.com>
1314
1315 * pwdgrp.cc (pwdgrp::reparse): Declare.
1316 * uinfo.cc (pwdgrp::reparse): Define.
c9b99d0d 1317 * grp.cc (pwdgrp::parse_group): Use reparse.
a53ddfe6 1318
4f7e12dd
CV
13192003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
1320
1321 * syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
1322 update the euid and call cygheap->user.set_name. Remove special
1323 handling of ILLEGAL_UID.
ba6e1083 1324 (setgid32): Add a debug_printf. On Win95, always set the egid.
4f7e12dd
CV
1325 Remove special handling of ILLEGAL_GID. Do not compare gid and gr_gid.
1326 * child_info.h (class cygheap_exec_info): Remove uid.
1327 * spawn.cc (spawn_guts): Do not set ciresrv.moreinfo->uid.
1328 * dcrto.cc (dll_crt0_1): Always call uinfo_init.
1329 * uinfo.cc (uinfo_init): Reorganize and close handle if needed.
1330 (cygheap_user::ontherange): Do not call internal_getpwnam if pw is NULL.
1331
45dbfc26
CF
13322003-01-24 Christopher Faylor <cgf@redhat.com>
1333
1334 * fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
1335 scroll region if size changes.
1336
7d33eefa
CV
13372003-01-24 Pierre Humblet <pierre.humblet@ieee.org>
1338 Jason Tishler <jason@tishler.net>
1339
1340 * cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
1341 * syscalls.cc (setreuid32): New function.
1342 (setreuid): Ditto.
1343 (setregid32): Ditto.
1344 (setregid): Ditto.
1345 * include/cygwin/version.h: Bump API minor number.
1346
ac413374 13472003-01-23 Christopher Faylor <cgf@redhat.com>
69fae986 1348
ac413374 1349 * pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.
2037688a 1350
ac413374 13512003-01-23 Christopher Faylor <cgf@redhat.com>
09a88426
CF
1352
1353 * grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
1354 instead. Use next_str and next_int to parse arguments.
1355 * passwd.cc (pwdgrp::parse_passwd): Ditto.
1356 (grab_string): Eliminate.
1357 (grab_int): Ditto.
1358 * pwdgrp.h (pwdgrp::parse): Eliminate input arg.
1359 (pwdgrp::parse_passwd): Reflect above change.
1360 (pwdgrp::parse_group): Reflect above change.
1361 (pwdgrp::next_str): New function.
1362 (pwdgrp::next_int): Ditto.
1363 (pwdgrp::gets): Eliminate.
1364 * uinfo.cc (pwdgrp::next_str): New function.
1365 (pwdgrp::next_int): Ditto.
1366 (pwdgrp::add_line): Subsume gets.
1367 (pwdgrp::gets): Eliminate.
1368 (pwdgrp::load): Just call add_line to parse input buffer.
1369
ac413374
CF
13702003-01-22 Thomas Pfaff <tpfaff@gmx.net>
1371
1372 * include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
1373 2003-01-09 mutex patch.
1374 (PTHREAD_MUTEX_ERRORCHECK): Ditto.
1375
13762003-01-22 Corinna Vinschen <corinna@vinschen.de>
1377
1378 * cygrun.c: Move from here to ../testsuite.
1379 * Makefile.in: Remove cygrun.exe dependencies.
1380
13812003-01-21 Jason Tishler <jason@tishler.net>
1382
1383 * cygwin.din: Export nanosleep().
1384 * signal.cc (nanosleep): New function.
1385 (sleep): Move old functionality to nanosleep(). Call nanosleep().
1386 (usleep): Remove old functionality. Call nanosleep().
1387 * include/cygwin/version.h: Bump API minor number.
1388
57394495
CF
13892003-01-21 Christopher Faylor <cgf@redhat.com>
1390
1391 * grp.cc: Call gr.refresh() rather than doing isunitialized tests
1392 throughout.
1393 (gr): Use constructor (sigh).
1394 (pwdgrp::parse_group): Rename from parse_grp.
1395 (pwdgrp::read_group): Rename from read_etc_group. Just call gr.load
1396 with a single argument.
1397 * passwd.cc: Call pr.refresh() rather than doing isunitialized tests
1398 throughout.
1399 (pr): Use constructor (sigh).
1400 (pwdgrp::parse_passwd): Rename from "parse_pwd".
1401 (pwdgrp::read_passwd): Rename from read_etc_passwd. Just call pr.load
1402 with a single argument.
1403 * pwdgrp.h (pwdgrp_state): Eliminate.
1404 (pwdgrp): Reflect above renamings.
1405 (pwdgrp::etc_ix): Rename from pwd_ix.
1406 (pwdgrp::read): New element.
1407 (pwdgrp::lock): New element.
1408 (pwdgrp::refresh): New function.
1409 (pwdgrp::load): Eliminate variations which take buffer arguments.
1410 (pwdgrp::pwdgrp): New constructors. Initialize mutex here.
1411 * uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
1412 (pwdgrp::load): Set initialized state to true rather than setting state
1413 to loaded.
1414
984864e9
CF
14152003-01-21 Christopher Faylor <cgf@redhat.com>
1416
89f7e8d1 1417 * include/cygwin/version.h: Bump DLL minor number.
984864e9 1418
d8cde3a3
CF
14192003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
1420
1421 * path.h (etc::change_possible): Revert the type to bool.
1422 (etc::set_last_modified): Remove obsolete function.
1423 * path.cc (etc::change_possible): Revert type to bool.
1424 (etc::test_file_change): Do not test for negative values of
1425 change_possible and do not set it to -res.
1426 (etc::dir_changed): When the handle is NULL, call memset instead of
09a88426
CF
1427 test_file_changed. When the handle is invalid, return true. Detect
1428 filename change in /etc.
d8cde3a3 1429 (etc::file_changed): Remove unneeded check for !fn[n].
33de631b 1430 * uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
b99b804b 1431 * pwdgrp.h (pwdgrp::operator =): Eliminate.
d8cde3a3 1432
7905c4f1
CF
14332003-01-19 Christopher Faylor <cgf@redhat.com>
1434
1435 * pwdgrp.h (etc): Move to path.h.
1436 (pwdgrp::max_lines): New field.
1437 (pwdgrp::curr_lines): New field.
1438 (pwdgrp::pwdgrp_buf): Ditto.
1439 (pwdgrp_buf_elem_size): Ditto.
1440 (pwdgrp_parse): Ditto.
1441 (pwdgrp::gets): Just declare here.
1442 (pwdgrp::load): Ditto. Just take one argument.
1443 (pwdgrp::load): Define overloaded function accepting passwd buf.
1444 (pwdgrp::load): Define overloaded function accepting group buf.
1445 * grp.cc: Use pwdgrp elements rather than standalone static variables
1446 throughout.
1447 (curr_lines): Eliminate.
1448 (max_lines): Ditto.
1449 (add_grp_line): Ditto.
1450 (parse_grp): Define as returning boolean. Accept void * arg and line
1451 count. Coerce first argument into __group32 buf reference. Increment
1452 curr_line as appropriate.
1453 (read_etc_group): Pass pwdgrp buffer to gr.load.
1454 * passwd.cc: Use pwdgrp elements rather than standalone static variables
1455 throughout.
1456 (curr_lines): Eliminate.
1457 (max_lines): Ditto.
1458 (add_grp_line): Ditto.
1459 (parse_passwd): Define as returning boolean. Accept void * arg and line
1460 count. Coerce first argument into passwd buf reference. Increment
1461 curr_line as appropriate.
1462 (read_etc_group): Pass pwdgrp buffer to pr.load.
1463 * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
1464 zero.
1465 (etc::last_modified): Ditto.
1466 (etc::change_possible): Ditto. Renamed from sawchange. Change to
1467 signed char since elements are now tri-state.
1468 (etc::init): Assume "handle" is 1 based rather than 0.
1469 (etc::test_file_change): New function. Sets change_possible based on
1470 file date comparison.
1471 (etc::dir_changed): Check file states immediately after changed_h is
1472 initialized to avoid a race.
1473 (etc::file_changed): Use test_file_change to detect if file needs to be
1474 updated.
1475 * path.h (etc): Move class here from pwdgrp.h.
7905c4f1
CF
1476 * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
1477 here.
1478 (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
1479 (pwdgrp::add_line): New function.
1480 (pwdgrp::load): Call generic add_line function which will call correct
1481 parser.
1482
4c6a3e50
CF
14832003-01-17 Christopher Faylor <cgf@redhat.com>
1484
1485 * cygheap.cc: Change most 'int's to 'unsigned's.
1486 (_cmalloc): Only check for size of malloced region when calculating
97d2bc79 1487 bucket. Add overhead when performing the sbrk. Previous change broke
4c6a3e50
CF
1488 _crealloc.
1489
e9152439
CF
14902003-01-17 Christopher Faylor <cgf@redhat.com>
1491
1492 * dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
1493 * grp.cc: Change most statics to NO_COPY throughout.
1494 * passwd.cc: Ditto.
1495
14962003-01-17 Christopher Faylor <cgf@redhat.com>
1497
1498 * pwdgrp.h: Change some BOOLs to bools.
1499 (pwdgrp::pwdgrp): Remove unneeded constructor.
1500 * passwd.cc: Change BOOL to bool throughout.
1501
afa378e7
CV
15022003-01-17 Corinna Vinschen <corinna@vinschen.de>
1503
1504 * cygwin.din: Add strerror_r.
1505 * include/cygwin/version.h: Bump API minor number.
1506
1de6f431
CF
15072003-01-17 Christopher Faylor <cgf@redhat.com>
1508
1509 * uinfo.cc (etc::dir_changed): Don't print a warning if can't open
1510 /etc, unless debugging.
1511
d8cde3a3 15122003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
14ea5029
CF
1513
1514 * grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
1515 "unknown" to "mkgroup".
1516 (internal_getgrgid): Do not return default in nontsec case.
1517 (internal_getgroups): Add argument srchsid and look for it in groups if
1518 not NULL.
1519 * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
1520 same default uid for Win95 and NT. Call cygheap_user::ontherange to
1521 initialize HOME.
1522
14ea5029
CF
15232003-01-16 Christopher Faylor <cgf@redhat.com>
1524
1525 * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
1526 * cygheap.h (init_cygheap::etc_changed_h): Remove.
1527 (init_cygheap::etc_changed): Ditto.
1528 * grp.cc (group_state): Remove. Use gr instead throughout.
1529 (gr): Define as class pwdgrp.
1530 (read_etc_group): Remove gr definition. Remove calls to
1531 set_last_modified and close. Pass add_grp to gr.load to load file.
1532 * passwd.cc (passwd_state): Remove. Use pr instead, throughout.
1533 (pr): Define as class pwdgrp.
1534 (read_etc_passwd): Remove pr definition. Remove calls to
1535 set_last_modified and close. Pass add_pwd_line to pr.load to load
1536 file.
1537 * pwdgrp.h (etc): New helper class for pwdgrp.
1538 (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
1539 file_w32 and last_modified fields.
1540 (pwdgrp::set_last_modified): Remove.
1541 (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
1542 etc::file_changed.
1543 (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
1544 scanning. Close file handle after reading buffer into memory. Parse
1545 buffer by calling second argument.
1546 (pwdgrp::gets): Reorganize slightly to rely on eptr starting at
5304bcdf 1547 beginning of buffer.
14ea5029
CF
1548 (pwdgrp::close): Remove.
1549 * uinfo.cc (etc::dir_changed): New function.
1550 (etc::init): Ditto.
1551 (etc::file_changed): Ditto.
1552 (etc::set_last_modified): Ditto.
1553
41429bc9
CV
15542003-01-16 Jason Tishler <jason@tishler.net>
1555
1556 * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
1557 ReadProcessMemory() error codes that trigger a retry with temporary
1558 PAGE_READONLY access. Note that this can occur on NT 4.0.
1559
18813254
CF
15602003-01-15 Christopher Faylor <cgf@redhat.com>
1561
1562 * path.cc (normalize_posix_path): Convert win32 path separators to
1563 slashes when full path is specified.
1564
77cb0c56
CF
15652003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
1566
1567 * cmalloc.cc (_cmalloc): Fix memory leak.
1568
ce542f78
CV
15692003-01-15 Corinna Vinschen <corinna@vinschen.de>
1570
1571 * autoload.cc: Fix copyright date.
1572 * fhandler_dsp.cc: Ditto.
1573 * mmap.cc: Ditto.
1574 * net.cc: Ditto.
1575 * ntdll.h: Ditto.
1576 * signal.cc: Ditto.
1577 * syscalls.cc: Ditto.
1578 * uname.cc: Ditto.
1579 * wait.cc: Ditto.
1580
15996b6f
CV
15812003-01-14 Corinna Vinschen <corinna@vinschen.de>
1582
1583 * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
1584 Change ambiguous debug output.
1585
857b65dd
CV
15862003-01-14 Corinna Vinschen <corinna@vinschen.de>
1587
1588 * mmap.cc (mmap_record::access): Change argument type to caddr_t
1589 for strictness.
1590 (mprotect): Protect against calling VirtualProtect() for shared
1591 pages on 9x/Me.
1592 (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
1593 change protection of parent page to PAGE_READONLY, then try again.
1594 Revert protection afterwards.
1595
e14328f4
TP
15962003-01-14 Thomas Pfaff <tpfaff@gmx.net>
1597
1598 * syscalls.cc (system): Add pthread_testcancel call.
1599 * thread.cc: Update list of cancellation points.
1600
4a3584c8
TP
16012003-01-14 Thomas Pfaff <tpfaff@gmx.net>
1602
1603 * wait.cc: Include thread.h
1604 (wait4): Add pthread_testcancel call.
1605 Wait for child process and cancellation event.
1606 * thread.cc: Update list of cancellation points.
1607
7ec66a2c
TP
16082003-01-14 Thomas Pfaff <tpfaff@gmx.net>
1609
1610 * signal.cc (sleep): Add pthread_testcancel call.
1611 Wait for signal and cancellation event.
1612 (usleep): Ditto.
1613
16142003-01-14 Thomas Pfaff <tpfaff@gmx.net>
3457ce4d
TP
1615
1616 * exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
1617 Wait for signal and cancellation event.
1618 * thread.cc: Update list of cancellation points.
1619
2673d5f2
CF
16202003-01-14 David Huang <davehzhr@hotmail.com>
1621
1622 * fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
1623 SNDCTL_DSP_GETFMTS.
1624
9f0d3f37
CF
16252003-01-12 Christopher Faylor <cgf@redhat.com>
1626
1627 * ntdll.h: Fix typo.
1628
7f129d87
CV
16292003-01-12 Corinna Vinschen <corinna@vinschen.de>
1630
1631 * uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
1632
ab2dbccc
CV
16332003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
1634
1635 * sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
1636 (setacl): Start the search for a matching default at the next entry.
1637 Invalidate the type of merged entries instead of clearing it.
1638 Use well_known_creator for default owner and owning group and do
1639 not try to merge non-default and default entries in these cases.
1640 (getacl): Recognize well_known_creator for default owner and group.
1641 (acl_worker): Improve errno settings and streamline the nontsec case.
1642 * security.cc (write_sd): Remove the call to set_process_privilege.
1643 (alloc_sd): If the owner changes, call set_process_privilege and return
1644 immediately on failure. Change inheritance rules: on new directories add
1645 inherit only allow ACEs for creator_owner, creator_group and everyone.
1646 Preserve all inheritances through chmod and chown calls. Introduce
1647 isownergroup to implement the uid == gid case, to keep the inheritance
1648 code simple. Do not initialize owner_sid and group_sid and stop using
1649 the variable psd.
1650
68115c74
CF
16512003-01-10 Christopher Faylor <cgf@redhat.com>
1652
1653 * net.cc: Use gethostname define from winsock2.h.
1654
e3abf986
CF
16552003-01-10 Christopher Faylor <cgf@redhat.com>
1656
1657 * path.cc: Unrevert below reversion except for
1658 mount_info::conv_to_posix_path part.
1659
df2caa88
CV
16602003-01-10 Corinna Vinschen <corinna@vinschen.de>
1661
1662 * path.cc: Revert patch from 2003-01-09 to normalize a windows path
1663 rather than converting to posix.
1664
dc8d11f5
CV
16652003-01-10 Corinna Vinschen <corinna@vinschen.de>
1666
1667 * autoload.cc (gethostname): Make call optional, return 1 if function
1668 can't get loaded.
1669 * net.cc (cygwin_gethostname): Call GetComputerName if return value
1670 of gethostname is non-zero.
1671
70d61f30
CV
16722003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
1673
8735f49f 1674 * cygwin.din: Add asprintf and vasprintf, as well as the reentrant
70d61f30 1675 versions and underscore variants.
8735f49f 1676 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
70d61f30 1677
a7711767
CV
16782003-01-10 Corinna Vinschen <corinna@vinschen.de>
1679
1680 * net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
1681
d5223b2b
CF
16822003-01-09 Christopher Faylor <cgf@redhat.com>
1683
1684 * cygthread.cc (cygthread::cygthread): Be more noisy about odd
1685 condition.
1686 * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
1687 that's what we're currently running at.
1688
65f207e8
TP
16892003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1690
1691 * include/semaphore.h: Modify typedef for sem_t.
1692 * include/cygwin/types.h: Modify typedefs for pthread_t,
1693 pthread_mutex_t, pthread_key_t, pthread_attr_t,
1694 pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
1695 pthread_rwlock_t and pthread_rwlockattr_t.
1696
09cbb9d6
TP
16972003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1698
1699 * thread.h (WAIT_CANCELED): New define.
1700 (pthread::cancelable_wait): New static method.
1701 * thread.cc (pthread::cancelable_wait): Implement.
1702 (semaphore::Wait): Wait on semaphore and thread cancellation.
1703 (pthread::join): Wait on joined thread and thread cancellation.
1704 (semaphore::wait): Add testcancel to check for thread
1705 cancellation even if the semaphore is available.
1706
5d68d1de
TP
17072003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1708
1709 * include/pthread.h: Add define for errorchecking mutexes.
1710 Change default mutex type.
1711 * thread.cc (pthread_cond::TimedWait): Update mutex unlock
1712 calls.
1713 (pthread_mutex::pthread_mutex): New implement.
1714 (pthread_mutex::~pthread_mutex): Ditto.
1715 (pthread_mutex::Lock): Ditto.
1716 (pthread_mutex::TryLock): Ditto.
1717 (pthread_mutex::UnLock): Ditto.
1718 (pthread_mutex::Destroy): Implement new method.
1719 (pthread_mutex::SetOwner): Ditto.
1720 (pthread_mutex::LockRecursive): Ditto.
1721 (pthread_mutex::fixup_after_fork): Restore locking state after
1722 fork.
1723 (__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
1724 (__pthread_mutex_trylock): Return pthread_mutex::TryLock
1725 errorcode.
1726 (__pthread_mutex_unlock): Return pthread_mutex::UnLock
1727 errorcode.
1728 (__pthread_mutex_destroy): Call pthread_mutex::Destroy to
3457ce4d 1729 destroy mutex.
5d68d1de
TP
1730 (__pthread_mutexattr_settype): Allow errorchecking and recursive
1731 types.
1732 * thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
1733 (pthread_mutex::criticalsection): Remove.
1734 (pthread_mutex::lock_counter): New member.
1735 (pthread_mutex::recursion_counter): Ditto.
1736 (pthread_mutex::owner): Ditto.
1737 (pthread_mutex::type): Ditto.
1738 (pthread_mutex::Destroy): New method.
1739 (pthread_mutex::SetOwner): Ditto.
1740 (pthread_mutex::LockRecursive): Ditto.
1741
ed9fe455
TP
17422003-01-09 Thomas Pfaff <tpfaff@gmx.net>
1743
1744 * pthread.cc (pthread_cond_init): Use new pthread_cond::init.
1745 * thread.cc: Some white spaces cleanups.
1746 Change __pthread_cond_init to pthread_cond::init throughout.
1747 (nativeMutex): Move class methods outside pthread_mutex.
1748 (MTinterface::Init): Initialize pthread_cond init lock.
1749 (pthread_cond::condInitializationLock): Instantiate.
1750 (pthread_cond::initMutex): New Method.
1751 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
1752 * thread.h: Some white spaces cleanups.
1753 (nativeMutex): Move class declaration outside pthread_mutex.
1754 (pthread_cond::condInitializationLock): New static member.
1755 (pthread_cond::initMutex): New Method.
1756 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
1757 (__pthread_cond_init): Remove prototype.
1758
93353aee
CV
17592003-01-09 Corinna Vinschen <corinna@vinschen.de>
1760
1761 * fhandler_disk_file.cc (num_entries): Return 2 as link count if
1762 directory unreadable.
1763
3eb27a4e
CV
17642003-01-09 Corinna Vinschen <corinna@vinschen.de>
1765
1766 * security.cc (get_nt_attribute): Always return -1 when read_sd()
1767 fails.
1768 (get_file_attribute): Set permissions to 0 and owner/group to -1
1769 if security descriptor is unreadable.
1770
85ba109d
CF
17712003-01-09 Christopher Faylor <cgf@redhat.com>
1772
1773 Use isdirsep rather than SLASH_P throughout.
1774 * path.cc (iscygdrive): Disallow /cygdrive\x.
1775 (normalize_posix_path): "Normalize" a windows path, if detected, rather
1776 than converting to posix.
1777
17782003-01-06 Troy Curtiss <troyc@usa.net>
1779
1780 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
1781 capability checking for B230400 bitrate.
1782 (fhandler_serial::tcgetattr): Add support for B230400 bitrate.
1783 * include/sys/termios.h: Add B230400 definition for Posix support of
1784 230.4Kbps.
1785
cbdbe9d7
CF
17862003-01-05 Christopher Faylor <cgf@redhat.com>
1787
1788 * pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
1789 lock when leaving.
1790
f3afe99b
CF
17912003-01-03 Christopher Faylor <cgf@redhat.com>
1792
1793 * dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
1794 cleanup needed.
1795 * dtable.cc (dtable::vfork_parent_restore): Remove assertion.
1796 * pipe.cc (fhandler_pipe::close): Don't close read_state during
1797 fork_fixup since it wasn't inherited.
1798
2665fb15
CF
17992003-01-01 Christopher Faylor <cgf@redhat.com>
1800
1801 * passwd.cc (getpwuid_r32): Revert previous change.
1802
8619b42b
CF
18032003-01-01 Christopher Faylor <cgf@redhat.com>
1804
1805 * sysconf.cc (sysconf): Return arbitrary values for
1806 _SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
1807
1808 * passwd.cc (getpwuid_r32): Add uid/gid fields to size check
1809 calculation.
1810
This page took 0.241077 seconds and 5 git commands to generate.