#include <errno.h>
#include "mono/io-layer/wapi.h"
+#include "mono/io-layer/wapi-private.h"
+#include "mono/utils/mono-once.h"
static pthread_key_t error_key;
static mono_once_t error_key_once=MONO_ONCE_INIT;
{
guint32 err;
void *errptr;
-
+
+ if (_wapi_has_shut_down)
+ return 0;
mono_once(&error_key_once, error_init);
errptr=pthread_getspecific(error_key);
err=GPOINTER_TO_UINT(errptr);
{
int ret;
+ if (_wapi_has_shut_down)
+ return;
/* Set the thread-local error code */
mono_once(&error_key_once, error_init);
ret = pthread_setspecific(error_key, GUINT_TO_POINTER(code));
#ifdef EDESTADDRREQ
case EDESTADDRREQ: result = WSAEDESTADDRREQ; break;
#endif
+#ifdef EHOSTDOWN
+ case EHOSTDOWN: result = WSAEHOSTDOWN; break;
+#endif
+#ifdef ENETDOWN
+ case ENETDOWN: result = WSAENETDOWN; break;
+#endif
case ENODEV: result = WSAENETDOWN; break;
default:
sys_error = strerror (code);