June 01, 2009

Bug fix in performance counter instance activation code
There's a bug in all releases of our performance counter library that may cause the creation of an instance with a name that has been previously used as an instance but that has been released to fail by connecting the...

Race condition during service shutdown
There's a race condition in the service shutdown code which is most likely to show up if there's an exception thrown from your implementation of ContinueService(), PauseService() or StopService() but that could show up during any service shutdown sequence. This...

June 03, 2009

Bug Psychology and how you can get stuck in a rut...
Eric Lippert has an interesting blog posting (here) on how sometimes you can be so focused on fixing the bug you fail to step back and take a better look at the actual problem that you're trying to solve. I'm...

June 10, 2009

New Windows Services library
I'm currently working on a new version of the Windows Services library that ships as part of the Licensed I/O Completion Port Server Framework. The Services library allows you to turn your server into a Windows Service very easily and...

June 11, 2009

Why not to compile as 64 bit...
Here's a nice piece by Rico Mariani about why Visual Studio is unlikely to go 64 bit any time soon. In a nut shell, unless you have very large data sets that need to be kept in memory you might...

June 13, 2009

Structured exception translation is now optional
I've had a couple of requests from clients recently that they be able to handle any structured exceptions in the server framework themselves. Up until now all framework threads install a SEH translator and catch the resulting C++ exceptions in...

June 14, 2009

Allocating page aligned buffers
Back in October 2007 I briefly looked at, what seemed to be at the time, a simple change to the server framework so that you had the option to use buffers that were aligned to page boundaries. This could help...

June 19, 2009

Where's the catch(...)
As of the next release of the server framework use of catch(...) handlers at thread boundaries, in 'no throw' functions and in destructors will be configurable. At present, in v6.0 and earlier of the server framework, we use catch(...) judiciously...

June 22, 2009

SSPI Negotiation; NTLM and Kerberos clients and servers
I've been working on a library that works in a similar way to our SChannel code and allows the use of the Microsoft "Negotiate" Security Support Provider Interface (SSPI) to provide NTLM and Kerberos support (see SPNEGO for more details)....