* dcrt0.cc (__cygwin_user_data): Initialize.

(dll_crt0_1): Eliminate user_data initialization.
(dll_crt0): Set up impure_ptr_ptr for older executables.
(cygwin_dll_init): Eliminate user_data initializations.
(__api_fatal): Don't check for user_data initialization.
* dll_init.cc (struct dll): Store entire contents of per_process rather than
just a pointer.
(add): Ditto.
(initOneDll): Don't check for user_data initialization.
(DllList::recordDll): Store contents of per_process argument.
(DllList::detachDll): Pass address of per_process field.
(DllList::initAll): Ditto.
(DllList::doGlobalDestructorsOfDlls): Ditto.
(DllListIterator::operator *): Ditto.
(dll_dllcrt0): Default to __cygwin_user_data if arg is NULL.
* include/sys/cygwin.h: Reorganize per_process to eliminate obsolete fields and
accomodate new way of initializing.
* lib/_cygwin_crt0_common: Initialize _impure_ptr from
__cygwin_user_data.impure_ptr.
This commit is contained in:
Christopher Faylor
2000-07-05 23:46:44 +00:00
parent 4e734b208b
commit 737a86d32f
6 changed files with 85 additions and 89 deletions

View File

@@ -76,11 +76,6 @@ sigprocmask (int sig, const sigset_t *set, sigset_t *oldset)
return -1;
}
/* gcc can call sigprocmask when a builtin contructor is activated.
This can happen prior to the setup of myself */
if (!user_data)
return 0;
if (oldset)
*oldset = myself->getsigmask ();
if (set)
@@ -109,21 +104,6 @@ sigprocmask (int sig, const sigset_t *set, sigset_t *oldset)
return 0;
}
#if 0
/* This is called _raise because the real raise is in newlib. */
int
_raise (int sig)
{
if (!user_data)
{
set_errno (ESRCH);
return -1;
}
return _kill (myself->pid, sig);
}
#endif
static int
kill_worker (pid_t pid, int sig)
{