Not all: conditional variable support is missing.bnemias wrote:XP has all the threading capabilities you need and really anything you need to make it work. To fail to do so is just laziness.
Importance of Windows XP support
Moderator: Ras
-
- Posts: 469
- Joined: Fri Dec 16, 2016 11:04 am
- Location: France
- Full name: Richard Delorme
Re: Importance of Windows XP support
Richard Delorme
-
- Posts: 373
- Joined: Thu Aug 14, 2008 3:21 am
- Location: Albuquerque, NM
Re: Importance of Windows XP support
It is simply not that dangerous. Being online and connected, unpatched behind a NAT firewall (router), you can leave it for years without issue. The problem is users tend to do stuff, dumb stuff, or get duped by something like DNS redirect and end up trusting something malicious.Evert wrote:The problem is, you cannot install XP very easily (or at all?) because in the time it takes to download updates/another browser the system has already been infiltrated (I suppose a hardware firewall can prevent that of course, but it's a lot of hassle).
Yeah, very true. I have run into this before and forgot. I was trying to produce an optimized build for an ancient OS+hardware using new versions of GCC. I eventually gave up because of dependencies from the C runtime that needed system calls from XP onward. I still think it is possible to use the latest optimizations and target a pentium II, for example. But it wasn't worth the time to find the solution.Evert wrote:Using language or compiler features that aren't available in older compilers is a reason.But my take on chess engines and XP support is that there is no earthly reason NOT to. If you find yourself unable to run your engine on XP, then it is either because you are utilizing system calls you don't actually need, or because you are using tools (read Microsoft) that intentionally use such calls EXPLICITLY to break XP support.
If your engine is single-threaded, there isn't any real reason not to support windows 95 because it is easy. XP has all the threading capabilities you need and really anything you need to make it work. To fail to do so is just laziness.
-
- Posts: 2655
- Joined: Fri Nov 26, 2010 2:00 pm
- Location: Czech Republic
- Full name: Martin Sedlak
Re: Importance of Windows XP support
There are events (easier than mutex + condvar + flag)abulmo2 wrote:Not all: conditional variable support is missing.bnemias wrote:XP has all the threading capabilities you need and really anything you need to make it work. To fail to do so is just laziness.
-
- Posts: 4398
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Importance of Windows XP support
Sort of.Evert wrote: Is there a reason you use ReadFile rather than fgets()?
The Linux/Mac code uses select, and one reason is that it supports a timeout parameter, so it can be non-blocking with no input.
But there is no select on Windows, so for that it uses Windows calls. But since ReadFile blocks, you could argue that you might as well just use fgets on both platforms.
--Jon
-
- Posts: 469
- Joined: Fri Dec 16, 2016 11:04 am
- Location: France
- Full name: Richard Delorme
Re: Importance of Windows XP support
My point is: Conditional variable support is present since Windows Vista. So a program using conditional variables working under windows Vista & later will not work under windows XP. I do not deny that viable alternatives to conditional variables exist like Events, Semaphore or whatever, just that there is no native support to Conditional variables under windows XP, and so it is not correct to assert that XP has all threading capabilities.mar wrote:There are events (easier than mutex + condvar + flag)abulmo2 wrote:Not all: conditional variable support is missing.bnemias wrote:XP has all the threading capabilities you need and really anything you need to make it work. To fail to do so is just laziness.
Richard Delorme
-
- Posts: 2204
- Joined: Sat Jan 18, 2014 10:24 am
- Location: Andorra
Re: Importance of Windows XP support
In Andscacs I use only one instruction for threading:abulmo2 wrote:My point is: Conditional variable support is present since Windows Vista. So a program using conditional variables working under windows Vista & later will not work under windows XP. I do not deny that viable alternatives to conditional variables exist like Events, Semaphore or whatever, just that there is no native support to Conditional variables under windows XP, and so it is not correct to assert that XP has all threading capabilities.mar wrote:There are events (easier than mutex + condvar + flag)abulmo2 wrote:Not all: conditional variable support is missing.bnemias wrote:XP has all the threading capabilities you need and really anything you need to make it work. To fail to do so is just laziness.
_beginthread
Anything else. So it works on winxp

Daniel José -
http://www.andscacs.com

-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: Importance of Windows XP support
Zero for me - any Windows, macOS here.Evert wrote:Short version: how important is it to continue to support Windows XP?
Long version: I've been trying to figure out why a number of people have reported problems with SjaakII where the program would become unresponsive. I eventually figured out that problems occur mostly with the "release" compiles and (with some help) that problems occur from version 1.3.1 onward, which is when we transitioned the build system to MSVS 2015. All of which suggested to me that the problem is somewhere in the MSVS code-path. Martin Sedlak discovered that there is an actual bug in the CRT runtime library for MSVS 2015, which breaks for unbuffered input.
Now, this bug has been fixed, but only for targets later than Windows XP (so Windows XP and earlier remain broken). So this basically narrows the choice down to using an older compiler (that doesn't have the same bug in its CRT library), or dropping support for Windows XP in the release builds.
I don't really like the first option on principle (relying on a particular older version of a compiler is bad) and I'm in two minds about the second. On the one hand, this is a 16 year old OS that became unsupported three years ago. On the other hand, I don't like the idea of telling people they're out of luck trying to run my program. A compromise is to offer both builds, at least for the time being.
So anyway, how important is it in practice to maintain support for Windows XP?