4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-28 12:05:47 +08:00

* sigproc.cc (sigproc_terminate): Don't signal main thread when exiting.

* sigproc.h (sigframe): Decorate some methods with `inline'.
(new_muto): Coerce pointer to new to void *.
This commit is contained in:
Christopher Faylor 2001-10-31 02:58:38 +00:00
parent 0fc07e4d69
commit 774cd790fc
4 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2001-10-30 Christopher Faylor <cgf@redhat.com>
* sigproc.cc (sigproc_terminate): Don't signal main thread when exiting.
* sigproc.h (sigframe): Decorate some methods with `inline'.
(new_muto): Coerce pointer to new to void *.
2001-10-30 Christopher Faylor <cgf@redhat.com> 2001-10-30 Christopher Faylor <cgf@redhat.com>
* fhandler.cc (fhandler_base::fork_fixup): Pass old handle to * fhandler.cc (fhandler_base::fork_fixup): Pass old handle to

View File

@ -612,7 +612,7 @@ sigproc_terminate (void)
// finished with anything it is doing // finished with anything it is doing
// sig_dispatch_pending (TRUE); // wake up and die // sig_dispatch_pending (TRUE); // wake up and die
/* In case of a sigsuspend */ /* In case of a sigsuspend */
SetEvent (signal_arrived); // SetEvent (signal_arrived);
/* If !hwait_sig, then the process probably hasn't even finished /* If !hwait_sig, then the process probably hasn't even finished
* its initialization phase. * its initialization phase.

View File

@ -50,7 +50,7 @@ class sigframe
{ {
private: private:
sigthread *st; sigthread *st;
bool unregister () inline bool unregister ()
{ {
if (!st) if (!st)
return 0; return 0;
@ -64,7 +64,7 @@ private:
} }
public: public:
void set (sigthread &t, DWORD ebp, bool is_exception = 0) inline void set (sigthread &t, DWORD ebp, bool is_exception = 0)
{ {
DWORD oframe = t.frame; DWORD oframe = t.frame;
st = &t; st = &t;
@ -76,7 +76,7 @@ public:
sigframe (): st (NULL) {} sigframe (): st (NULL) {}
sigframe (sigthread &t, DWORD ebp = (DWORD) __builtin_frame_address (0)) {init (t, ebp);} sigframe (sigthread &t, DWORD ebp = (DWORD) __builtin_frame_address (0)) {init (t, ebp);}
void init (sigthread &t, DWORD ebp = (DWORD) __builtin_frame_address (0)) inline void init (sigthread &t, DWORD ebp = (DWORD) __builtin_frame_address (0))
{ {
if (!t.frame && t.id == GetCurrentThreadId ()) if (!t.frame && t.id == GetCurrentThreadId ())
set (t, ebp); set (t, ebp);

View File

@ -47,7 +47,7 @@ extern muto muto_start;
#define new_muto(__inh, __name) \ #define new_muto(__inh, __name) \
({ \ ({ \
static __attribute__((section(".data_cygwin_nocopy"))) muto __mbuf; \ static __attribute__((section(".data_cygwin_nocopy"))) muto __mbuf; \
(void) new ((char *) &__mbuf) muto (__inh, __name); \ (void) new ((void *) &__mbuf) muto (__inh, __name); \
__mbuf.next = muto_start.next; \ __mbuf.next = muto_start.next; \
muto_start.next = &__mbuf; \ muto_start.next = &__mbuf; \
&__mbuf; \ &__mbuf; \