I'm finally getting to the 64bit installation and having some trouble.

It appears that Microsoft's support for odbc ended with Vista/Windows Server 
2008. What libraries are folks attaching to?

Also building a 64-bit pthread has been a problem. I downloaded the latest, and 
Visual Studio (9) can't seem to make heads or tails of the project. Making one 
from scratch has its own problems. I found a post saying a pthreads 2.9 was due 
real soon now with 64 bit support... but that was 3 years ago.

How have folks tackled these problems?


Thanks,
Scott

From: [email protected] [mailto:[email protected]] On 
Behalf Of Dimitris Servis
Sent: Friday, March 19, 2010 1:14 PM
To: HDF Users Discussion List
Subject: Re: [Hdf-forum] Threadsafe Windows & 64-bit

Another point: AFAIK HDF5 does not launch any threads. It only uses some 
synchronization methods of pthreads. These could very easily be implemented and 
skip the need for yet another library.

Best

-- dimitris
2010/3/19 Dimitris Servis <[email protected]<mailto:[email protected]>>
Scott,

I compiled pthreads for 64bit almost out of the box. It works fine so far with 
HDF5. Note that I linked statically in order not to mess with any other 
library. To make it work, you need to patch pthreads (see below). I also added 
the following lines in H5TS.c in H5TS_first_thread_init, but that's only for 
static linking

#ifdef _WIN32
#ifdef PTW32_STATIC_LIB
pthread_win32_process_attach_np();
#endif
#endif

HTH

-- dimitris

Index: implement.h

===================================================================







--- implement.h    (revision 19389)

+++ implement.h    (revision 19390)

@@ -667,8 +667,12 @@

  * See ptw32_InterlockedCompareExchange.c

  */

 #ifndef PTW32_INTERLOCKED_COMPARE_EXCHANGE

+#ifdef _WIN64







+#define PTW32_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange

+#else

 #define PTW32_INTERLOCKED_COMPARE_EXCHANGE

ptw32_interlocked_compare_exchange

 #endif

+#endif



 #ifndef PTW32_INTERLOCKED_EXCHANGE







 #define PTW32_INTERLOCKED_EXCHANGE InterlockedExchange



Index: ptw32_InterlockedCompareExchange.c

===================================================================

--- ptw32_InterlockedCompareExchange.c    (revision 19389)







+++ ptw32_InterlockedCompareExchange.c    (revision 19390)

@@ -34,6 +34,7 @@

  *      if not, write to the Free Software Foundation, Inc.,

  *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

  */







+#ifndef _WIN64



 #include "pthread.h"

 #include "implement.h"

@@ -301,3 +302,5 @@

 #endif



 #endif

+

+#endif



Index: pthread_win32_attach_detach_np.c

===================================================================







--- pthread_win32_attach_detach_np.c    (revision 19389)

+++ pthread_win32_attach_detach_np.c    (revision 19390)

@@ -91,6 +91,14 @@



 #endif



+#ifdef _WIN64

+/*

+ * InterlockedCompareExchange routine in WIN64 is an intrinsic function.







+ * See PTW32_INTERLOCKED_COMPARE_EXCHANGE implement.h

+ */

+

+#else

+

 #ifdef WINCE



   /*

@@ -143,6 +151,7 @@

     {

       ptw32_features |= PTW32_SYSTEM_INTERLOCKED_COMPARE_EXCHANGE;







     }

+#endif



   /*



    * Load QUSEREX.DLL and try to get address of QueueUserAPCEx

2010/3/19 Mitchell, Scott - IS 
<[email protected]<mailto:[email protected]>>
I implemented the thread safe version of HDF5 for Windows to get past some 
issues writing to HDF5 files from different threads. I hoped I didn't need to 
bother since each thread had exclusive access to one file, but testing proved 
otherwise.

So the thread-safe option uses PThreads (32 bit). This code will shortly be 
moving to a 64 bit platform. A quick search didn't turn up a 64 bit variant. Is 
there a way to implement this in 64 bit?


Scott

________________________________
This e-mail and any files transmitted with it may be proprietary and are 
intended solely for the use of the individual or entity to whom they are 
addressed. If you have received this e-mail in error please notify the sender.
Please note that any views or opinions presented in this e-mail are solely 
those of the author and do not necessarily represent those of ITT Corporation. 
The recipient should check this e-mail and any attachments for the presence of 
viruses. ITT accepts no liability for any damage caused by any virus 
transmitted by this e-mail.

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]<mailto:[email protected]>
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org


_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to