Commit Graph

20587 Commits

Author SHA1 Message Date
Allen Byrne
5b441f84c9 Whitespace cleanup 2020-05-12 15:38:49 -05:00
Allen Byrne
bf5dde71cb Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_12)
* commit 'e399be1e9156840aa0664323dfc00a93ac43575c':
  Complete the comment on thread_main(), explaining why the barrier is used.
  The first implementation seemed to allow for the possibility that a thread could block at the barrier, wake and exit the barrier, re-acquire the barrier lock and increase `nentered` before the other blocked threads woke and checked `nentered % count == 0`.  Then the other blocked threads would check `nentered % count == 0` and, finding it false, go back to sleep in the barrier.  This new implementation waits for a looser condition to obtain so that threads don't go back to sleep in the barrier.
  Test the right condition for the EBUSY return in pthread_barrier_destroy().
  s/exit_failure/EXIT_FAILURE/g
  Implement pthread_barrier(3) for Darwin using a counter, condition variable, and mutex.  Untested.
  Use HD prefix.
  Provide local copies of err(3)- and errx(3)-alike functions for Visual Studio compatibility.
  Oops, the test has to return success in the unimplemented case.
  src/H5Eint.c: #include H5TSprivate.h for H5TS_thread_id() definitions.
  Remove tongue-in-cheek credit for Rusty Shackleford and Dale Alvin Gribble.
  Follow HDF5 conventions.
  Make sure that H5TS_thread_id() is available as either a function or a macro in all configurations.
  Use a naked pthread_self() call in the HDF5 thread wrappers.
  If H5_HAVE_THREADSAFE is not #defined, define nothing but a stub implementation of H5TS_thread_id().
2020-05-12 14:20:55 -05:00
Larry Knox
e399be1e91 Merge pull request #2575 in HDFFV/hdf5 from ~DYOUNG/werror:fix-thread_id-1_12 to hdf5_1_12
* commit 'f0485413e02ebf1117e5b1725f32534e7e26b622':
  Complete the comment on thread_main(), explaining why the barrier is used.
  The first implementation seemed to allow for the possibility that a thread could block at the barrier, wake and exit the barrier, re-acquire the barrier lock and increase `nentered` before the other blocked threads woke and checked `nentered % count == 0`.  Then the other blocked threads would check `nentered % count == 0` and, finding it false, go back to sleep in the barrier.  This new implementation waits for a looser condition to obtain so that threads don't go back to sleep in the barrier.
  Test the right condition for the EBUSY return in pthread_barrier_destroy().
  s/exit_failure/EXIT_FAILURE/g
  Implement pthread_barrier(3) for Darwin using a counter, condition variable, and mutex.  Untested.
  Use HD prefix.
  Provide local copies of err(3)- and errx(3)-alike functions for Visual Studio compatibility.
  Oops, the test has to return success in the unimplemented case.
  src/H5Eint.c: #include H5TSprivate.h for H5TS_thread_id() definitions.
  Remove tongue-in-cheek credit for Rusty Shackleford and Dale Alvin Gribble.
  Follow HDF5 conventions.
  Make sure that H5TS_thread_id() is available as either a function or a macro in all configurations.
  Use a naked pthread_self() call in the HDF5 thread wrappers.
  If H5_HAVE_THREADSAFE is not #defined, define nothing but a stub implementation of H5TS_thread_id().
2020-05-12 07:53:14 -05:00
David Young
f0485413e0 Complete the comment on thread_main(), explaining why the barrier is used. 2020-05-11 15:34:44 -05:00
David Young
c149f4ca16 The first implementation seemed to allow for the possibility that a thread
could block at the barrier, wake and exit the barrier, re-acquire the barrier
lock and increase `nentered` before the other blocked threads woke and checked
`nentered % count == 0`.  Then the other blocked threads would check `nentered
% count == 0` and, finding it false, go back to sleep in the barrier.  This new
implementation waits for a looser condition to obtain so that threads don't go
back to sleep in the barrier.
2020-05-11 15:34:31 -05:00
David Young
e5f459d86d Test the right condition for the EBUSY return in pthread_barrier_destroy(). 2020-05-11 15:34:22 -05:00
David Young
99034ad9ad s/exit_failure/EXIT_FAILURE/g 2020-05-11 15:34:05 -05:00
David Young
4d6c96bdf5 Implement pthread_barrier(3) for Darwin using a counter, condition variable,
and mutex.  Untested.
2020-05-11 15:34:05 -05:00
David Young
0952346c79 Use HD prefix. 2020-05-11 15:33:40 -05:00
David Young
d7412b7e88 Provide local copies of err(3)- and errx(3)-alike functions
for Visual Studio compatibility.
2020-05-11 15:33:33 -05:00
David Young
efca0c7f56 Oops, the test has to return success in the unimplemented case. 2020-05-11 15:33:22 -05:00
David Young
c0fa07fd9f src/H5Eint.c: #include H5TSprivate.h for H5TS_thread_id() definitions.
test/thread_id.c: move threads_failure() inside #ifdefs.
2020-05-11 15:32:40 -05:00
David Young
c97981da36 Remove tongue-in-cheek credit for Rusty Shackleford and Dale Alvin Gribble.
Delete the comment questioning whether pthread_mutex_lock is allowed
in a key destructor, since pthread_key_create(3) provides the answer:

   There  is  no  notion  of a destructor-safe function. If an application
   does not call pthread_exit() from a signal handler, or if it blocks any
   signal whose handler may call pthread_exit() while calling async-unsafe
   functions, all functions may be safely called from destructors.

Delete redundant comment.
2020-05-11 10:22:24 -05:00
David Young
d64afcd9d0 Follow HDF5 conventions. 2020-05-11 10:22:17 -05:00
David Young
2ba97e40cd Make sure that H5TS_thread_id() is available as either a function or a macro in
all configurations.

Previously it was neither declared nor defined in --disable-threadsafety
builds.  The compiler's warning got lost in the noise---I first saw the issue
because my -Werror branch stopped compiling cold---and the tests still linked
and ran.
2020-05-11 10:22:07 -05:00
David Young
8aa74137dd Use a naked pthread_self() call in the HDF5 thread wrappers. 2020-05-11 10:21:59 -05:00
David Young
a7dd25be55 If H5_HAVE_THREADSAFE is not #defined, define nothing but a stub implementation
of H5TS_thread_id().
2020-05-11 10:21:50 -05:00
Allen Byrne
dc9774a642 Whitespace cleanup compared to develop 2020-05-09 12:20:05 -05:00
Allen Byrne
6b9f11d7a6 Whitespace cleanup compared to develop 2020-05-09 12:11:04 -05:00
Allen Byrne
7c7bab5884 Merge pull request #2569 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit 'ce7ee643c6fe9eecdf02ee9efbd77b2e9aea6e2d':
  disable pr action and enable fail fast
  Correct filename
  OESS-65 Fix packaging
2020-05-08 16:29:05 -05:00
Allen Byrne
ce7ee643c6 disable pr action and enable fail fast 2020-05-08 15:34:57 -05:00
Allen Byrne
2c892178f1 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_12)
* commit '943129f61000899e394b75405723a3f110a21205':
  Add note to release notes.
  Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
  Add thread_id.c to the MANIFEST and the CMakeLists.txt per Allen's request.
  Replace pthread_self_ulong() with H5TS_thread_id().  The POSIX Threads implementation ought to be portable to any system that has POSIX Threads.  On Windows, I use the same API call as before.
  Align contents of CMake and autotools testfile cleanup lists.
  Avoid allocating a chunk index for datasets with 0-sized dimensions, until the dataset is extended.
2020-05-08 14:52:58 -05:00
Quincey Koziol
943129f610 Merge pull request #2567 in HDFFV/hdf5 from alloc_0sized_dset_fix_1_12 to hdf5_1_12
* commit '8dc9001a21cc3101059335a394e1f0bb7e3c3867':
  Add note to release notes.
  Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
  Add thread_id.c to the MANIFEST and the CMakeLists.txt per Allen's request.
  Replace pthread_self_ulong() with H5TS_thread_id().  The POSIX Threads implementation ought to be portable to any system that has POSIX Threads.  On Windows, I use the same API call as before.
  Align contents of CMake and autotools testfile cleanup lists.
  Avoid allocating a chunk index for datasets with 0-sized dimensions, until the dataset is extended.
2020-05-08 13:48:53 -05:00
Allen Byrne
8f58213e39 Correct filename 2020-05-08 13:00:08 -05:00
Allen Byrne
2110dc7359 OESS-65 Fix packaging 2020-05-08 10:53:55 -05:00
Quincey Koziol
8dc9001a21 Add note to release notes. 2020-05-07 16:09:36 -05:00
Quincey Koziol
e93bae7be2 Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into hdf5_1_12 2020-05-07 16:02:15 -05:00
Allen Byrne
e76c191daa Merge pull request #2566 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit 'a9c980cb28e912f5f4a74fcf1ac999000982bf21':
  Correct path
2020-05-07 10:02:21 -05:00
Allen Byrne
a9c980cb28 Correct path 2020-05-07 08:52:08 -05:00
David Young
524af38af8 Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
Fix a typo in the H5TS_thread_init() comment and reword some ID
properties.
2020-05-06 15:37:42 -05:00
David Young
bb3e1a5caf Add thread_id.c to the MANIFEST and the CMakeLists.txt per Allen's
request.
2020-05-06 15:37:28 -05:00
David Young
763d7a778e Replace pthread_self_ulong() with H5TS_thread_id(). The POSIX Threads
implementation ought to be portable to any system that has POSIX
Threads.  On Windows, I use the same API call as before.
2020-05-06 15:37:14 -05:00
Quincey Koziol
25f30e7d63 Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into hdf5_1_12 2020-05-06 14:33:52 -05:00
Allen Byrne
f0ed3478a9 Merge pull request #2562 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit 'e0183056d5362f2198726281e446e02912120d4d':
  Add github actions and cleanup java whitespace
2020-05-06 14:07:45 -05:00
Allen Byrne
e0183056d5 Add github actions and cleanup java whitespace 2020-05-06 11:19:50 -05:00
Quincey Koziol
f8545c459b Align contents of CMake and autotools testfile cleanup lists. 2020-05-04 13:18:31 -05:00
Quincey Koziol
2edc8daa16 Avoid allocating a chunk index for datasets with 0-sized dimensions, until
the dataset is extended.
2020-05-04 13:17:04 -05:00
Allen Byrne
286d296aa7 Merge pull request #2546 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit '38e923b85367b9e1428a3d284cb3c09c9fe8a108':
  OESS-65 replace szip with aec library
2020-04-27 09:28:46 -05:00
Allen Byrne
38e923b853 OESS-65 replace szip with aec library 2020-04-27 09:07:36 -05:00
hdftest
bf5029051c Merge pull request #2528 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_12 to hdf5_1_12
* commit '8a4905b9d329b582b04d1cc2705d9e367f4dd20b':
  Restrict errors to gcc 4.8 and above.
  Merge pull request #2537 in HDFFV/hdf5 from ~DYOUNG/werror:fix-werrors to develop
  Fix NoFilter build
  TRILAB-244 separate CXX warnings and errors from C
  Don't add general warnings flags for unsupported old versions of gcc and g++ (older than gcc/g++ 4.2). Correct gnu-cxxflags to determine warnings flags to be added based on C++ compiler version instead of C compiler version.
2020-04-27 08:09:20 -05:00
hdftest
60778cb623 Merge pull request #2545 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:hdf5_1_12 to hdf5_1_12
* commit 'ee86b05d9841dbfb14335f60af37d54bf66a1138':
  Snapshot version 1.12 release 1 (snap0) Update version to 1.12.1-1
2020-04-27 07:43:39 -05:00
hdftest
ee86b05d98 Snapshot version 1.12 release 1 (snap0)
Update version to 1.12.1-1
2020-04-26 23:19:09 -05:00
Allen Byrne
8a4905b9d3 Restrict errors to gcc 4.8 and above. 2020-04-25 22:52:09 -05:00
David Young
743a2adb2a Merge pull request #2537 in HDFFV/hdf5 from ~DYOUNG/werror:fix-werrors to develop
* commit 'd16eb45d536bd13ca3cf1b0bdc76c58d95d13f17':
  For compatibility with non-C99 Visual Studio versions, use "%" PRIuMAX instead of "%ju".
  Fix `test/swmr_sparse_reader.c:118:77: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]` and `test/snapshots-hdf5/current/test/swmr_sparse_reader.c:129:100: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]`.
  Fix `src/H5FDdirect.c:1346:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]`.
2020-04-25 22:30:08 -05:00
Allen Byrne
88fbce4183 Fix NoFilter build 2020-04-25 22:25:18 -05:00
Allen Byrne
54764c99be TRILAB-244 separate CXX warnings and errors from C 2020-04-25 22:21:55 -05:00
Larry Knox
49a76869aa Don't add general warnings flags for unsupported old versions of gcc and
g++ (older than gcc/g++ 4.2).
Correct gnu-cxxflags to determine warnings flags to be added based on
C++ compiler version instead of C compiler version.
2020-04-20 19:32:48 -05:00
Allen Byrne
0c59431279 Merge pull request #2512 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_12 to hdf5_1_12
* commit 'd5b10a7d0aa300742137fba8157c54d92a594c61':
  TRILAB-192 version of std=f2008 special check
2020-04-14 12:45:46 -05:00
Vailin Choi
8b475a8a95 Merge pull request #2497 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/112_dtype_close_on_error to hdf5_1_12
* commit '365f08e555e7e92f04b095ccfb3dae09b27fd0ad':
  Fix according to PR feedback.
  Fix error in previous merge: should use NULL instead of FAIL.
2020-04-14 12:34:17 -05:00
Allen Byrne
d5b10a7d0a TRILAB-192 version of std=f2008 special check 2020-04-14 08:29:27 -05:00