Application Coding Error Results in Error 100038 (WSAENOTSOCK)ID: Q155738
|
A Windows sockets application may return error 10038 (WSAENOTSOCK) in response to various socket calls.
The Windows NT error "OBJECT_TYPE_MISMATCH" is mapped to Windows Sockets
error "WSAENOTSOCK" by the Microsoft Winsock implementation. One possible
cause of "OBJECT_TYPE_MISMATCH" error is an application written in such a
manner as to close a given handle more than once. Errors are more likely to
occur on multiprocessor computers.
Application developers programming with the Win32 API set are instructed to
be careful to close all of their handles when they are finished with them.
However, if an application is written and linked with C runtime libraries,
some of the C runtime code automatically cleans up resources such as
handles to a thread. If the application developer closes a thread handle
specifically, then calls _endthread() to terminate the thread, the
_endthread routine also attempts to close the same handle. If the handle
has been re-used at that point (by another thread), it will become an
invalid thread and is likely to cause errors such as "INVALID_HANDLE" or
"OBJECT_TYPE_MISMATCH."
Consult with the application vendor to determine whether there is a possibility of the same handle being closed twice.
Additional query words: socket select 100038 WSAENOTSOCK
Keywords : kbnetwork kbAPI kbSDKPlatform kbWinsock nt32ap NTSrvWkst kbGrpNet
Version : 3.5 3.51 4.0
Platform : winnt
Issue type :
Last Reviewed: January 22, 1999