summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/cygtls.cc3
-rw-r--r--winsup/cygwin/errno.cc1
3 files changed, 10 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 5916f0bb2..be2468b57 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-15 Christopher Faylor <cgf@timesys.com>
+
+ * cygtls.cc (_cygtls::remove): Free process_ident, if it exists.
+
+ * errno.cc (errmap): ERROR_DISK_CORRUPT -> EIO.
+
2005-03-11 Christopher Faylor <cgf@timesys.com>
* path.h (pathconv_arg): Define PC_NO_ACCESS_CHECK.
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc
index 47d03b669..817c8e3b1 100644
--- a/winsup/cygwin/cygtls.cc
+++ b/winsup/cygwin/cygtls.cc
@@ -12,6 +12,7 @@ details. */
#include "assert.h"
#include <syslog.h>
#include <signal.h>
+#include <malloc.h>
#include "exceptions.h"
#include "sync.h"
#include "cygerrno.h"
@@ -158,6 +159,8 @@ _cygtls::remove (DWORD wait)
// select to control this themselves
if (locals.exitsock != INVALID_SOCKET)
closesocket (locals.exitsock);
+ if (locals.process_ident != NULL)
+ free (locals.process_ident);
do
{
sentry here (wait);
diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc
index c550aa60d..3bdfa0160 100644
--- a/winsup/cygwin/errno.cc
+++ b/winsup/cygwin/errno.cc
@@ -123,6 +123,7 @@ static NO_COPY struct
X (IO_PENDING, EAGAIN),
X (TOO_MANY_LINKS, EMLINK),
X (PROC_NOT_FOUND, ESRCH),
+ X (ERROR_DISK_CORRUPT, EIO),
{ 0, NULL, 0}
};