* 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>
 | 
			
		||||
 | 
			
		||||
	* dcrt0.cc (dll_crt0_1): init cygcwd before forkee branch
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -614,8 +614,10 @@ char _declspec(dllexport) **__argv = NULL;
 | 
			
		|||
void
 | 
			
		||||
sigthread::init (const char *s)
 | 
			
		||||
{
 | 
			
		||||
#if 0 /* FIXME: Someday we'll need this for inter-thread signalling */
 | 
			
		||||
  lock = new_muto (FALSE, s);
 | 
			
		||||
  id = GetCurrentThreadId ();
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Take over from libc's crt0.o and start the application. Note the
 | 
			
		||||
| 
						 | 
				
			
			@ -735,10 +737,6 @@ dll_crt0_1 ()
 | 
			
		|||
  /* Initialize events. */
 | 
			
		||||
  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 ();
 | 
			
		||||
 | 
			
		||||
  cygbench ("pre-forkee");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -109,6 +109,11 @@ pinfo_init (char **envp, int envc)
 | 
			
		|||
      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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,7 +38,7 @@ struct sigthread
 | 
			
		|||
{
 | 
			
		||||
  DWORD id;
 | 
			
		||||
  DWORD frame;
 | 
			
		||||
  muto *lock;
 | 
			
		||||
  muto *lock;			// FIXME: Use for multi-thread signalling someday
 | 
			
		||||
  void init (const char *s);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -50,10 +50,8 @@ private:
 | 
			
		|||
public:
 | 
			
		||||
  void set (sigthread &t, DWORD ebp)
 | 
			
		||||
  {
 | 
			
		||||
    t.lock->acquire ();
 | 
			
		||||
    st = &t;
 | 
			
		||||
    t.frame = ebp;
 | 
			
		||||
    t.lock->release ();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  sigframe () {st = NULL;}
 | 
			
		||||
| 
						 | 
				
			
			@ -68,9 +66,7 @@ public:
 | 
			
		|||
  {
 | 
			
		||||
    if (st)
 | 
			
		||||
      {
 | 
			
		||||
	st->lock->acquire ();
 | 
			
		||||
	st->frame = 0;
 | 
			
		||||
	st->lock->release ();
 | 
			
		||||
	st = NULL;
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue