blob: 7c8d34aa7d93469dd3d27d55190329d508f695dc (
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
|
2013-01-14 Christopher Faylor <me.cygwin2013@cgf.cx>
* exceptions.cc (signal_exit): Move captive process termintation...
(_cygtls::interrupt_setup): ...into here.
(sigpacket::process): Simplify setting of handler when have_execed.
(_cygtls::interrupt_setup): Don't call proc_subproc when we've execed.
* globals.cc (exit_states): Delete unneeded ES_EXEC_EXIT.
* pinfo.cc (pinfo::exit): Change debugging output. Call proc_terminate
rather than the now-obsolete sigproc_terminate. Don't set exit_state
to ES_EXEC_EXIT. Set exit_state to ES_FINAL later.
* sigproc.cc (sigproc_terminate): Delete function.
(wait_sig): Don't call proc_subproc if have_execed.
* sigproc.h (sigproc_terminate): Delete declaration.
* sync.h (lock_process::lock_process): Don't set exit_state to
ES_PROCESS_LOCKED.
(lock_process::operator LONG): Define.
2013-01-11 Christopher Faylor <me.cygwin2013@cgf.cx>
* DevNotes: Add entry cgf-000021.
* select.cc (select): Unconditionally return when a signal is detected.
(select_stuff::wait): Ditto.
2013-01-11 Corinna Vinschen <corinna@vinschen.de>
* syscalls.cc (rename): Drop handling paths > 32757 chars, emit EINVAL
instead, thus simplifying code allocating and filling pfri. Drop size
and use constant expression in NtSetInformationFile call. Add comments.
Drop redundant test for fs_serial_number and change comment accordingly.
2013-01-11 Thomas Wolff <towo@towo.net>
* fhandler.h (class dev_console): Flag for expanded control sequence.
* fhandler_console.cc (char_command): Supporting cursor style modes.
2013-01-10 Corinna Vinschen <corinna@vinschen.de>
* path.h (path_conv::fs_type): New method.
* syscalls.cc (rename): Check for cross-device situation before
touching anything. Explain why. Workaround NFS bug in call to
NtSetInformationFile(FileRenameInformation).
2013-01-09 Corinna Vinschen <corinna@vinschen.de>
* cygerrno.h: Fix copyright.
* exceptions.cc: Drop comment explaining removed variable.
2013-01-09 Corinna Vinschen <corinna@vinschen.de>
* dcrt0.cc (main_thread_sinit): New inline function. Fix and explain
a stdio initialization issue.
(dll_crt0_1): Call main_thread_sinit rather than __sinit.
2013-01-07 Christopher Faylor <me.cygwin2013@cgf.cx>
* thread.cc (pthread_rwlock::lookup_reader): Remove parameter: always
assume that we're looking for the current thread.
(pthread_rwlock::tryrdlock): Eliminate self variable. Accommodate
change in lookup_reader().
(pthread_rwlock::unlock): Ditto.
(pthread_rwlock::rdlock): Ditto. Move add_reader call after writer
tests to more closely mimic old behavior.
(pthread_rwlock::wrlock): Accommodate change in lookup_reader().
* thread.h ((pthread_rwlock::lookup_reader): Eliminate argument.
2013-01-07 Christopher Faylor <me.cygwin2013@cgf.cx>
* thread.cc (pthread_rwlock::add_reader): Perform new operation here
and return pointer to allocated RWLOCK_READER structure.
(pthread_rwlock::rdlock): Reorganize to reflect new add_reader
functionality.
(pthread_rwlock::tryrdlock): Ditto. Remove unneeded call to
lookup_reader().
* thread.h (pthread_rwlock::RWLOCK_READER::RWLOCK_READER): New
constructor.
(pthread_rwlock::add_reader): Reflect new functionality.
2013-01-03 Christopher Faylor <me.cygwin2013@cgf.cx>
* globals.cc (exit_states): Renumber so that ES_EXIT_STARTING is first,
as intended.
* sigproc.cc (wait_sig): Only stop accepting signals after
exit_state > ES_EXIT_STARTING.
2013-01-03 Christopher Faylor <me.cygwin2013@cgf.cx>
* sigproc.cc (exit_thread): Set thread signal mask so that no signals
are sent to an exiting thread.
2013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
* sigproc.cc (no_signals_available): Remove exit_state test since
signals are available in a limited fashion when exiting.
(sig_dispatch_pending): Ditto.
(sig_send): Ditto.
(exit_thread): Rearrange to avoid an unnecessary DuplicateProcess when
exiting.
(wait_sig): Allow special signals when exiting.
2013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
* DevNotes: Add entry cgf-000020, relating to previous checkin.
2013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
* cygtls.h (_cygtls::signal_exit): Delete from class.
* exception.h (cygwin_exception): New class.
(cygwin_exception::dumpstack): Declare new function.
(cygwin_exception::context): Ditto.
(cygwin_exception::dump_exception): Ditto.
* exceptions.cc (cygwin_exception::dump_exception): Move into
cygwin_exception class. Accommodate new variable names.
(cygwin_exception::dumpstack): Ditto stackdump -> dumpstack.
(exception::handle): Move andreas processing earlier. Defer signal
processing decisions to the signal thread where they belong. Pass
exception information to sig_send via new siginfo_t si_cyg field.
(ctrl_c_handler): Wait for SIGHUP signal to be processed since it could
cause a process exit and we don't want races with thread exit lock.
(signal_exit): Move back here from sigproc.cc. Modify arguments and
remove from sigpacket class. Decide when to dump core based on signal
type.
(sigpacket::process): Handle exiting signals in context of threads
rather than in the signal thread. Signal debugger on non-Windows
signals. Remove setup_signal_exit call.
* sigproc.cc (no_signals_available): Remove argument.
(signal_exit_code): Delete.
(close_my_readsig): Ditto.
(_cygtls::signal_exit): Move to exceptions.cc.
(sigproc_terminate): Don't attempt to terminate signal thread.
(setup_signal_exit): Delete.
(exit_thread): Use new si_cyg entry in siginfo_t.
(sig_send): Just use empty initializer for si. Accommodate change in
no_signals_available argument.
(wait_sig): Remove attempt to "go asynchronous" on process exit.
Delete __SIGEXIT handling. Don't ever exit.
* sigproc.h: Remove __SIGEXIT from signal enum. Renumber.
* include/cygwin/signal.h (siginfo_t): Add si_cyg entry.
|