summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/ChangeLog
blob: ae1a2f7214eda9a911050c8270096814790901a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
2005-01-16  Christopher Faylor  <cgf@timesys.com>

	* pinfo.h (maybe_set_exit_code_from_windows): Renamed from
	set_exit_state.
	* pinfo.cc (pinfo::exit): Use renamed function.
	(proc_waiter): Ditto.  Make a copy of input argument to avoid problems
	when procs array is shuffled.  Flag when copy is made so that
	remove_proc knows when it is safe to reshuffle.
	* sigproc.cc (proc_terminate): Don't flag process_state as PID_EXITED.
	(remove_proc): Wait for waiter to finish copying pinfo element before
	moving it (an actual wait should be an extremely rare event).

2005-01-15  Christopher Faylor  <cgf@timesys.com>

	* init.cc (dll_entry): Remove unused extern.

	* include/sys/cygwin.h: Remove PID_ZOMBIE.
	* pinfo.h: Rename EXITCODE_* defines.
	(pinfo::set_exit_state): Remove parameter.
	* pinfo.cc (set_exit_state): Remove parameter.  Reverse sense of test
	so that exitcode is checked for having been set rather than not having
	been set.  Set flag when exitcode has been established.  Don't set
	PID_STATE here.
	(pinfo::init): Remove exitcode initialization.
	(pinfo::exit): Reflect change in EXITCODE_* naming.  Set flag when
	exitcode has been established.  Reflect change in arguments to
	set_process_state.
	(proc_waiter): Reflect change in arguments to set_process_state.  Set
	process_state here and only here.
	* fhandler_process.cc (fhandler_process::fill_filebuf): Reflect removal
	of PID_ZOMBIE define.
	(format_process_stat): Ditto.
	(format_process_status): Ditto.
	* sigproc.cc (pid_exists): Ditto.
	(stopped_or_terminated): Ditto.  Make sure that only low-order 16 bits of
	exitcode are used.
	* spawn.cc (spawn_guts): Reflect change in EXITCODE_* naming.

2005-01-15  Christopher Faylor  <cgf@timesys.com>

	* sigproc.cc (sig_send): Don't complain if attempt to send signal to
	myself fails after I've "execed".

2005-01-14  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_disk_file::facl): Pretend successful
	SETACL if no acls are available.
	* fhandler.cc (fhandler_base::facl): Implement to return sensible
	values on GETACL and GETACLCNT.  Pretend successful SETACL.
	* fhandler_virtual.cc (fhandler_virtual::facl): Ditto.

2005-01-13  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler.h (fhandler_disk_file::touch_ctime): Declare.
	* fhandler_disk_file.cc (fhandler_disk_file::touch_ctime): New method
	to set file's ctime.
	(fhandler_disk_file::fchmod): Try opening file for writing first.
	Set file's ctime on success.
	(fhandler_disk_file::fchown): Ditto.
	(fhandler_disk_file::facl): Ditto.

2005-01-13  Corinna Vinschen  <corinna@vinschen.de>

	* pinfo.cc (pinfo::exit): Don't access self after releasing it.
	* path.h (path_conv::path_conv): Fill path with native device
	name in case of device argument.

2005-01-13  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_serial.cc (fhandler_serial::dup): Call overlapped_setup
	for child, not for parent.

2005-01-13  Christopher Faylor  <cgf@timesys.com>

	* init.cc (dll_entry): Nuke attempt to set exit code since parent will
	use windows exit code if needed.
	* pinfo.cc (pinfo::exit): Move release() here to minimize pid creation
	race (suggested by Pierre Humblet).

2005-01-12  Christopher Faylor  <cgf@timesys.com>

	Reorganize header file inclusion throughout so that cygerrno.h comes
	first.
	* fhandler.h (select_record::thread_errno): Save any encountered errno
	here.
	(select_record::set_select_errno): New function.
	(select_record::saw_error): New function.
	(select_record::select_record): Initialize thread_errno to zero.
	* select.cc (set_handle_or_return_if_not_open): Set thread_errno on
	failure.
	(select_stuff::wait): Record errno for later resurrection in calling
	thread.
	(peek_serial): Ditto.

2005-01-12  Christopher Faylor  <cgf@timesys.com>

	* syscalls.cc (system): Use "/bin/sh" as per linux and (sorta) SUSv3.

2005-01-12  Christopher Faylor  <cgf@timesys.com>

	* pinfo.cc (pinfo::exit): Don't assume that this == myself.

2005-01-11  Christopher Faylor  <cgf@timesys.com>

	* pinfo.cc (pinfo::init): Don't close input handle on temporary (?)
	failure.

2005-01-11  Christopher Faylor  <cgf@timesys.com>

	* pinfo.h (_pinfo::set_exit_state): Declare new function.
	(pinfo::exit): Move here from _pinfo::exit.
	* sigproc.cc (child_info::sync): Use new function to set exitcode and
	process_state.
	* pinfo.cc (_pinfo::exit): Ditto.
	(proc_waiter): Ditto.
	(_pinfo::set_exit_state): Define new function.
	(_pinfo::dup_proc_pipe): Close handle when there is no parent process
	around to care about the exit value.
	* dcrt0.cc (dll_crt0_0): Move subproc_ready synchronization later to
	make sure that myself is still mapped in parent.
	(do_exit): Reflect movement to pinfo::exit.
	(__api_fatal): Ditto.
	* exceptions.cc (signal_exit): Ditto.
	* errno.cc (errmap): Map PROC_NOT_FOUND.
	* init.cc (dll_entry): Release myself before exiting.
	* sigproc.cc (proc_can_be_signalled): Set errno appropriately.
	(sig_send): Ditto.  Also remove ill-advised test for !myself->sendsig
	since this is an indication of a process which is still initializating
	-- it is not an error.
	(child_info::sync): Don't set exitcode here.  Assume that will happen
	in proc_waiter, if necessary.
	* spawn.cc (spawn_guts): Delay "wait_for_myself" logic until later.
	Don't wait at all if the process has already exited.  Reflect movement
	to pinfo::exit.

2005-01-11  Corinna Vinschen  <corinna@vinschen.de>

	* environ.cc (build_env): Disallow empty strings and strings starting
	with '=' in Win32 environment.

2005-01-08  Pierre Humblet <pierre.humblet@ieee.org>

	* syscalls.cc (seteuid32): Only change the default dacl when
	seteuid succeeds. Do not close HKCU.

2005-01-06  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_process.cc: Use strcasematch instead of strcasecmp
	throughout.

2005-01-06  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (rename): Fix behaviour in case of renaming directories
	according to SUSv3.

2005-01-06  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_base::open_fs): Don't allow
	opening directories for writing.

2005-01-06  Christopher Faylor  <cgf@timesys.com>

	* timer.cc (timer_thread): Pass sigev pointer value as per SuSv3 rather
	than pointer to sigev.

2005-01-05  Christopher Faylor  <cgf@timesys.com>

	* dcrt0.cc (multiple_cygwin_problem): Reorganize error message to not
	always talk about a "version" when it's not a version.
	(dll_crt0_0): Change info passed to multiple_cygwin_problem to be a
	little more precise.
	* shared.cc (user_shared_initialize): Ditto.
	(shared_info::initialize): Ditto.

2005-01-03  Christopher Faylor  <cgf@timesys.com>

	* pinfo.cc (_pinfo::dup_proc_pipe): Can't close proc pipe when execing
	or we will suffer an exit code race.

2005-01-03  Corinna Vinschen  <corinna@vinschen.de>

	* signal.cc (abort): Call _GLOBAL_REENT's __cleanup.

2005-01-03  Corinna Vinschen  <corinna@vinschen.de>

	* syscalls.cc (setmode): Call _fwalk with _GLOBAL_REENT.

2005-01-01  Christopher Faylor  <cgf@timesys.com>

	* cygthread.cc (cygthread::stub): Set inuse to false when exiting.
	(cygthread::cygthread): Actually pass name as argument to debugging
	output to avoid SEGV when strace'ing.
	(cygthread::release): Don't set stack_ptr to NULL, since it is only set
	once on first entry to a stub not on each stub iteration.
	(cygthead::exit_thread): Remove obsolete function.
	* cygthread.h (cygthread::exit_thread): Ditto.

2005-01-01  Christopher Faylor  <cgf@timesys.com>

	* shared.cc (open_shared): Don't attempt VirtualAlloc magic if first
	attempt to map memory fails.