Known issues release 4

From liblfds.org
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Current

1. slist is broken. About 10% of the test program runs for slist will assert on a NULL pointer. (This may be due to the pointer decleration problem, which has been fixed; further testing may result in this known issue being revoked).

2. 32-bit Windows kernel build is broken. This is due to bug in an MS header. There is a fix for this bug and it is present for the 32-bit user-mode build, but is missing for the 32-bit kernel build. To fix, modify /inc/liblfds.h, adding these two lines at line 67;

// TRD : this define is documented but missing in Microsoft Platform SDK v7.0
#define _InterlockedCompareExchangePointer(destination, exchange, compare) _InterlockedCompareExchange((volatile long *) destination, (long) exchange, (long) compare)

This will give you the following (which is the section for 32-bit Windows kernel builds);

#if (!defined _WIN64 && defined _WIN32 && defined _MSC_VER && defined WIN_KERNEL_BUILD)
  // TRD : 32-bit Windows kernel with the Microsoft C compiler, any CPU
  #include <assert.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <wdm.h>
  typedef unsigned long int     atom_t;
  #define INLINE                extern __forceinline
  #define ALIGN(alignment)      __declspec( align(alignment) )
  #define ALIGN_SINGLE_POINTER  4
  #define ALIGN_DOUBLE_POINTER  8

  // TRD : this define is documented but missing in Microsoft Platform SDK v7.0
  #define _InterlockedCompareExchangePointer(destination, exchange, compare) _InterlockedCompareExchange((volatile long *) destination, (long) exchange, (long) compare)
#endif

3. Queue and ringbuffer are broken. There is a subtle queue bug which under heavy load leads to element re-ordering. The ringbuffer uses the queue and so is also affected. This has been fixed in release 5.

Revoked

No revocations.

History

  • Added #1 (4th Dec 09)
  • Added #2 (11th Dec 09)
  • Added #3 (13th Dec 09)
  • Updated #3 (14th Dec 09)
  • Updated #3 (17th Dec 09)
  • Updated #3 (19th Dec 09)