From: "Phil Frisbie, Jr." <phil@hawksoft.com>
To: "Ramiro Polla" <ramiro.polla@gmail.com>
Cc: pthreads-win32@sourceware.org
Subject: Re: Winsock dependency.
Date: Mon, 19 Oct 2009 20:14:00 -0000 [thread overview]
Message-ID: <9c971600b340f71c880ff92719f60575.squirrel@webmail.sonic.net> (raw)
In-Reply-To: <f460258d0910190809n5b9a05e2sdce5e9293dc37cd0@mail.gmail.com>
Hello Ramiro,
Perhaps I had a poorly written LSP installed on my NT 4.0 system I used
back in 2001, but I assure you it was a problem! The call to TlsGetValue
would reset the value retrieved from WSAGetLastError, and simply saving
and then setting the value of GetLastError would not suffice.
Also, while the WIN32/64 documentation seems to say WSAGetLastError is an
alias for GetLastError, the CE documentation does not.
In my own library I coded around the problem by saving and resetting the
value of WSAGetLastError while calling pthread_getspecific, so feel free
to remove it and hope nobody else sees the problem!
On Mon, October 19, 2009 8:09 am, Ramiro Polla wrote:
> Hi,
>
> A dependency to Winsock was introduced to pthreads-win32 in this commit:
> 2001-08-23 Phil Frisbie, Jr. <phil at hawksoft.com>
>
> * tsd.c (pthread_getspecific): Preserve the last
> winsock error [from WSAGetLastError()].
>
> There was an unanswered reply that questions whether this was really
> necessary:
> http://sourceware.org/ml/pthreads-win32/2001/msg00122.html
>
> Does anyone have a reproducible testcase that triggers the error this
> commit was supposed to fix?
>
> I've tested on win98, xp and vista and I can't get GetTlsValue() to
> touch WSA errors. The source code in Wine also only uses
> SetLastError(), and not WSASetLastError().
>
> If I understood correctly, this should only be a problem if the user does:
> some_wsock_function()
> some_pthread_function()
> WSAGetLastError()
>
> In the case where people check for errors right after calling a wsock
> function this shouldn't be a problem, right?
>
> Ramiro Polla
--
Phil Frisbie, Jr.
Hawk Software
http://www.hawksoft.com
prev parent reply other threads:[~2009-10-19 20:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-19 15:10 Ramiro Polla
2009-10-19 20:14 ` Phil Frisbie, Jr. [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9c971600b340f71c880ff92719f60575.squirrel@webmail.sonic.net \
--to=phil@hawksoft.com \
--cc=pthreads-win32@sourceware.org \
--cc=ramiro.polla@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).