* cygthread.cc (cygthread::detach): Fix debugging output.
* dcrt0.cc (dll_crt0_1): Create signal_arrived early -- before any filename manipulation. * sigproc.cc (sigproc_init): Don't create signal_arrived here. * fork.cc (fork_child): Ditto.
This commit is contained in:
parent
0fc9cf11f8
commit
a9c461626e
|
@ -1,3 +1,11 @@
|
||||||
|
2005-06-15 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
|
* cygthread.cc (cygthread::detach): Fix debugging output.
|
||||||
|
* dcrt0.cc (dll_crt0_1): Create signal_arrived early -- before any
|
||||||
|
filename manipulation.
|
||||||
|
* sigproc.cc (sigproc_init): Don't create signal_arrived here.
|
||||||
|
* fork.cc (fork_child): Ditto.
|
||||||
|
|
||||||
2005-06-14 Christopher Faylor <cgf@timesys.com>
|
2005-06-14 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
* path.cc (path_conv::check): Always reset to FH_FS when component != 0
|
* path.cc (path_conv::check): Always reset to FH_FS when component != 0
|
||||||
|
|
|
@ -353,7 +353,7 @@ cygthread::detach (HANDLE sigwait)
|
||||||
case WAIT_TIMEOUT:
|
case WAIT_TIMEOUT:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
system_printf ("%s handle %p is bad", j ? "semaphore" : "signal_arrived", w4[j]);
|
system_printf ("%s handle %p is bad", (j ? "signal_arrived" : "semaphore"), w4[j]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
api_fatal ("exiting on fatal error");
|
api_fatal ("exiting on fatal error");
|
||||||
|
|
|
@ -743,6 +743,8 @@ dll_crt0_1 (char *)
|
||||||
strace.microseconds ();
|
strace.microseconds ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
create_signal_arrived ();
|
||||||
|
|
||||||
/* Initialize debug muto, if DLL is built with --enable-debugging.
|
/* Initialize debug muto, if DLL is built with --enable-debugging.
|
||||||
Need to do this before any helper threads start. */
|
Need to do this before any helper threads start. */
|
||||||
debug_init ();
|
debug_init ();
|
||||||
|
|
|
@ -158,7 +158,6 @@ fork_child (HANDLE& hParent, dll *&first_dll, bool& load_dlls)
|
||||||
{
|
{
|
||||||
extern void fixup_hooks_after_fork ();
|
extern void fixup_hooks_after_fork ();
|
||||||
extern void fixup_timers_after_fork ();
|
extern void fixup_timers_after_fork ();
|
||||||
extern void __stdcall create_signal_arrived ();
|
|
||||||
debug_printf ("child is running. pid %d, ppid %d, stack here %p",
|
debug_printf ("child is running. pid %d, ppid %d, stack here %p",
|
||||||
myself->pid, myself->ppid, __builtin_frame_address (0));
|
myself->pid, myself->ppid, __builtin_frame_address (0));
|
||||||
|
|
||||||
|
@ -204,8 +203,6 @@ fork_child (HANDLE& hParent, dll *&first_dll, bool& load_dlls)
|
||||||
if (fixup_mmaps_after_fork (hParent))
|
if (fixup_mmaps_after_fork (hParent))
|
||||||
api_fatal ("recreate_mmaps_after_fork_failed");
|
api_fatal ("recreate_mmaps_after_fork_failed");
|
||||||
|
|
||||||
create_signal_arrived ();
|
|
||||||
|
|
||||||
#ifdef USE_SERVER
|
#ifdef USE_SERVER
|
||||||
/* Incredible but true: If we use sockets and SYSV IPC shared memory,
|
/* Incredible but true: If we use sockets and SYSV IPC shared memory,
|
||||||
there's a good chance that a duplicated socket in the child occupies
|
there's a good chance that a duplicated socket in the child occupies
|
||||||
|
|
|
@ -490,8 +490,6 @@ sigproc_init ()
|
||||||
*/
|
*/
|
||||||
sync_proc_subproc.init ("sync_proc_subproc");
|
sync_proc_subproc.init ("sync_proc_subproc");
|
||||||
|
|
||||||
create_signal_arrived ();
|
|
||||||
|
|
||||||
hwait_sig = new cygthread (wait_sig, cygself, "sig");
|
hwait_sig = new cygthread (wait_sig, cygself, "sig");
|
||||||
hwait_sig->zap_h ();
|
hwait_sig->zap_h ();
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,7 @@ int __stdcall sig_send (_pinfo *, int) __attribute__ ((regparm (2)));
|
||||||
void __stdcall signal_fixup_after_exec ();
|
void __stdcall signal_fixup_after_exec ();
|
||||||
void __stdcall wait_for_sigthread ();
|
void __stdcall wait_for_sigthread ();
|
||||||
void __stdcall sigalloc ();
|
void __stdcall sigalloc ();
|
||||||
|
void __stdcall create_signal_arrived ();
|
||||||
|
|
||||||
int kill_pgrp (pid_t, siginfo_t&);
|
int kill_pgrp (pid_t, siginfo_t&);
|
||||||
int killsys (pid_t, int);
|
int killsys (pid_t, int);
|
||||||
|
|
Loading…
Reference in New Issue