* sigproc.h (sigthread): Eliminate locking for now since per thread signalling
is not available. * dcrt0.cc (sigthread::init): Ditto. (dll_crt0_1): Move set_process_privileges call (temporarily?) to pinfo_init. (pinfo_init): Only call set_process_privileges when allow_ntsec.
This commit is contained in:
parent
6e8f36bc43
commit
4b70969a08
|
@ -1,3 +1,12 @@
|
||||||
|
Wed Oct 18 20:50:27 2000 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
|
* sigproc.h (sigthread): Eliminate locking for now since per thread
|
||||||
|
signalling is not available.
|
||||||
|
* dcrt0.cc (sigthread::init): Ditto.
|
||||||
|
(dll_crt0_1): Move set_process_privileges call (temporarily?) to
|
||||||
|
pinfo_init.
|
||||||
|
(pinfo_init): Only call set_process_privileges when allow_ntsec.
|
||||||
|
|
||||||
2000-10-18 DJ Delorie <dj@redhat.com>
|
2000-10-18 DJ Delorie <dj@redhat.com>
|
||||||
|
|
||||||
* dcrt0.cc (dll_crt0_1): init cygcwd before forkee branch
|
* dcrt0.cc (dll_crt0_1): init cygcwd before forkee branch
|
||||||
|
|
|
@ -614,8 +614,10 @@ char _declspec(dllexport) **__argv = NULL;
|
||||||
void
|
void
|
||||||
sigthread::init (const char *s)
|
sigthread::init (const char *s)
|
||||||
{
|
{
|
||||||
|
#if 0 /* FIXME: Someday we'll need this for inter-thread signalling */
|
||||||
lock = new_muto (FALSE, s);
|
lock = new_muto (FALSE, s);
|
||||||
id = GetCurrentThreadId ();
|
id = GetCurrentThreadId ();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Take over from libc's crt0.o and start the application. Note the
|
/* Take over from libc's crt0.o and start the application. Note the
|
||||||
|
@ -735,10 +737,6 @@ dll_crt0_1 ()
|
||||||
/* Initialize events. */
|
/* Initialize events. */
|
||||||
events_init ();
|
events_init ();
|
||||||
|
|
||||||
/* Allow backup semantics. It's better done only once on process start
|
|
||||||
instead of each time a file is opened. */
|
|
||||||
set_process_privileges ();
|
|
||||||
|
|
||||||
cygcwd.init ();
|
cygcwd.init ();
|
||||||
|
|
||||||
cygbench ("pre-forkee");
|
cygbench ("pre-forkee");
|
||||||
|
|
|
@ -109,6 +109,11 @@ pinfo_init (char **envp, int envc)
|
||||||
environ_init (NULL, 0); /* call after myself has been set up */
|
environ_init (NULL, 0); /* call after myself has been set up */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allow backup semantics. It's better done only once on process start
|
||||||
|
instead of each time a file is opened. */
|
||||||
|
if (allow_ntsec)
|
||||||
|
set_process_privileges ();
|
||||||
|
|
||||||
debug_printf ("pid %d, pgid %d", myself->pid, myself->pgid);
|
debug_printf ("pid %d, pgid %d", myself->pid, myself->pgid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ struct sigthread
|
||||||
{
|
{
|
||||||
DWORD id;
|
DWORD id;
|
||||||
DWORD frame;
|
DWORD frame;
|
||||||
muto *lock;
|
muto *lock; // FIXME: Use for multi-thread signalling someday
|
||||||
void init (const char *s);
|
void init (const char *s);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,10 +50,8 @@ private:
|
||||||
public:
|
public:
|
||||||
void set (sigthread &t, DWORD ebp)
|
void set (sigthread &t, DWORD ebp)
|
||||||
{
|
{
|
||||||
t.lock->acquire ();
|
|
||||||
st = &t;
|
st = &t;
|
||||||
t.frame = ebp;
|
t.frame = ebp;
|
||||||
t.lock->release ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sigframe () {st = NULL;}
|
sigframe () {st = NULL;}
|
||||||
|
@ -68,9 +66,7 @@ public:
|
||||||
{
|
{
|
||||||
if (st)
|
if (st)
|
||||||
{
|
{
|
||||||
st->lock->acquire ();
|
|
||||||
st->frame = 0;
|
st->frame = 0;
|
||||||
st->lock->release ();
|
|
||||||
st = NULL;
|
st = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue