* pinfo.cc (pinfo::exit): Don't access self after releasing it.

* path.h (path_conv::path_conv): Fill path with native device
	name in case of device argument.
This commit is contained in:
Corinna Vinschen 2005-01-13 22:18:57 +00:00
parent 9b8e782e11
commit 0dabe0e0c2
3 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2005-01-13 Corinna Vinschen <corinna@vinschen.de>
* pinfo.cc (pinfo::exit): Don't access self after releasing it.
* path.h (path_conv::path_conv): Fill path with native device
name in case of device argument.
2005-01-13 Corinna Vinschen <corinna@vinschen.de>
* fhandler_serial.cc (fhandler_serial::dup): Call overlapped_setup

View File

@ -169,7 +169,10 @@ class path_conv
const suffix_info *suffixes = NULL) __attribute__ ((regparm(3)));
path_conv (const device& in_dev): fileattr (INVALID_FILE_ATTRIBUTES),
path_flags (0), known_suffix (NULL), error (0), dev (in_dev) {}
path_flags (0), known_suffix (NULL), error (0), dev (in_dev)
{
strcpy (path, in_dev.native);
}
path_conv (int, const char *src, unsigned opt = PC_SYM_FOLLOW,
const suffix_info *suffixes = NULL)

View File

@ -140,13 +140,14 @@ pinfo::exit (DWORD n)
set_exit_state (PID_EXITED);
if (n != EXITCODE_EXEC)
self->alert_parent (0);
int exitcode = self->exitcode;
release ();
_my_tls.stacklock = 0;
_my_tls.stackptr = _my_tls.stack;
sigproc_printf ("Calling ExitProcess hProcess %p, n %p, exitcode %p",
hProcess, n, self->exitcode);
ExitProcess (self->exitcode);
hProcess, n, exitcode);
ExitProcess (exitcode);
}
# undef self