summaryrefslogtreecommitdiffstats
path: root/src/H5I.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r16698] Purpose: Fix bug 503Neil Fortner2009-04-081-1/+1
| | | | | | | | | Description: Changed Skip list package to use a deterministic skip list. This allows the skip list package to avoid calling rand() and srand(), even on machines without rand_r(). There is no longer a p-value or maximum level for skip lists. Tested: jam, smirom, linew (h5committest)
* [svn-r16653] Bug fix #1503 - H5Iget_type failed unexpected when an invalid ↵Raymond Lu2009-04-011-19/+19
| | | | | | | | | ID was passed in. I put some argument check in the internal function H5I_find_id and took out the assertion check. I also removed the argument check in H5Iis_valid because it's in H5I_find_id now. Tested on jam - simple change. Tested v1.8 already.
* [svn-r16306] Description:Quincey Koziol2009-01-141-0/+1
| | | | | | | | | | | | | | Bring r16305 back from revise_chunks branch: Add detection of C99 "designated initializers" to configure script and use new H5_HAVE_C99_DESIGNATED_INITIALIZER macro to conditionally compile default layout variables in src/H5Pdcpl.c Also, minor code cleanups, etc. Tested on: FreeBSD/32 6.3 (duty) in debug mode (Other platforms tested on branch)
* [svn-r16044] Snapshot version 1.9 release 22HDF Tester2008-11-091-0/+1
|
* [svn-r16036] Purpose: add H5Iis_valid functionNeil Fortner2008-11-051-0/+47
| | | | | | | | | Description: H5Iis_valid function added. This function checks if the id is valid (i.e. it is currently registered and visible to the application), and returns TRUE if it is valid, or FALSE otherwise. It should never return an error. Tested: kagiso, linew, smirom (h5committest)
* [svn-r15796] Purpose: Close bug #1322Neil Fortner2008-10-071-4/+7
| | | | | | | | | Description: Fixes a possible datatype id leak that could occur during compound datatype conversion, or more precisely, when unregistering those conversions. Datatype ids normally registered by the library are no longer visible to the application via H5Fget_obj_ids and H5Fget_obj_count. Tested: kagiso, linew, smirom (h5committest)
* [svn-r15609] Description:Quincey Koziol2008-09-101-2/+2
| | | | | | | | Omnibus compiler warning cleanup & some reformatting also. Tested on: Mac OS X/32 10.5.4 (amazon) Too minor to require h5committest
* [svn-r15565] Snapshot version 1.9 release 15HDF Tester2008-08-311-0/+6
|
* [svn-r15512] Description:Quincey Koziol2008-08-211-2/+2
| | | | | | | | Fix a few typos introduced in r15510. Tested on: Mac OS X/32 10.5.4 (amazon) More testing upcoming
* [svn-r15510] Description:Quincey Koziol2008-08-211-468/+466
| | | | | | | | Clean up warnings & formatting Tested on: Mac OS X/32 10.5.4 (amazon) More tests forthcoming
* [svn-r15485] Purpose: Allow library to shut down properly when objects have ↵Neil Fortner2008-08-191-20/+56
| | | | | | | | | | | | | | | | reference count > 1. Description: Added a new field 'app_count' to H5I_id_info_t struct, to track the reference count on an id due to the application. the old 'count' field tracks the total. Generally any id visible to the application gets placed in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref, H5I_register, H5I_clear_type, and a few other functions, to specify whether the operation(s) being performed on the id(s) are due to the application (TRUE) or not (FALSE). Test added for this case. Tested: kagiso, smirom, linew (h5committest)
* [svn-r14224] Description:Quincey Koziol2007-10-301-1/+1
| | | | | | | | | | | | | | | | | | | Change H5Literate -> H5Literate_by_name and add simpler form of H5Literate, to bring this routine into alignment with the other new API routines. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r13465] Description:Quincey Koziol2007-03-061-8/+4
| | | | | | | | | | | | Fix bug in external links when "strong" file close degree is used. Make external link callbacks use standard error reporting mechanisms. Other minor code cleanups... Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r13068] Ran bin/reconfigure. Some of the scripts have been changed or ↵James Laird2006-12-181-8/+8
| | | | | | | | | haven't been run in a while, so many of the source files were updated with tracing macros, etc. No code changes by me. Tested on kagiso and smirom.
* [svn-r12858] Description:Quincey Koziol2006-11-041-1/+1
| | | | | | | | Clean up code to build name for ID with no name tracked - get rid of global variable, unused routines, etc. Tested on: FreeBSD/32 4.11 (sleipnir)
* [svn-r12849] Purpose: FeatureLeon Arber2006-11-021-2/+1
| | | | | | | | Description: Add ability for H5Iget_name to figure out the path name given an object reference. Tested: kagiso, sol
* [svn-r12004] Purpose:Quincey Koziol2006-03-041-1/+0
| | | | | | | | | | | | | | | | | New feature & code cleanup Description: Update fractal heap to be able to insert objects into a direct block hanging off the header. Extract "octal dump" code into separate routine so that both the local heaps & fractal heaps can use it. Other code cleanups & support to get this far. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r11838] Purpose:Quincey Koziol2005-12-261-32/+12
| | | | | | | | | | | | | | | | Bug fix Description: Retrieving an object's name could fail (in various ways) under certain circumstances (mostly having to do with mounted files). Solution: Re-write & simplify "get object name" code to fix error in a better way than adding yet another hack to the previous pile of hacks... :-) Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-106/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-40/+40
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11093] Purpose:Quincey Koziol2005-07-211-31/+20
| | | | | | | | | | | | Bug fix Description: Rewrite code for mounting files to clean up layers of kludges and implement a much cleaner and more maintainable design. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r10216] James Laird2005-03-141-10/+15
| | | | | | | | | | | | | | | | Purpose: Bug fix Description: Calling H5Iobject_verify on an invalid type of ID (e.g., H5I_BADID) triggers an assert. Solution: Test for this condition and return an error instead of an assert. Added tests for this case. Platforms tested: sleipnir (minor change)
* [svn-r9857] Purpose: MaintenanceElena Pourmal2005-01-221-3/+0
| | | | | | | | | | | | | | Description: Removed PABLO from the source Solution: Platforms tested: arabica with 64-bit, copper with parallel, heping with GNU C and C++ and PGI fortran (but I disabled hl, there is some weird problem only on heping: F9XMODFLAG is not propagated to the Makefile files Misc. update:
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-89/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-011-1/+1
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r8800] Purpose:Quincey Koziol2004-07-031-5/+5
| | | | | | | | | | | | | Code cleanup Description: Fix problems when compiling with C++ compiler. Also clean up some warnings with gcc 3.4.x Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r8767] Nat Furrer2004-06-301-1/+1
| | | | | | | | | | | | | | Purpose: Forgot to change H5Inmembers's return type in last commit... Description: Changed the number H5Inmembers returns by reference from int to hsize_t. Solution: Platforms tested: Misc. update:
* [svn-r8766] Nat Furrer2004-06-301-13/+67
| | | | | | | | | | | | | | | | | | | Purpose: Small H5I API changes. Description: Changed public version of H5Inmembers to return the number of IDs in a type by reference. This allows the user to differentiate between the case when H5Inmembers has an error and when the ID type is just empty. Added a new API function, H5Itype_exists, which allows the user to find out whether an ID type exists or not, without throwing an error. Solution: Platforms tested: Copper Misc. update:
* [svn-r8765] Purpose: New feature and its test.Raymond Lu2004-06-301-1/+3
| | | | | | | | | | | Description: Added new API H5Fget_name and new test program called filename.c. This function returns the name of the file by object ID(file, group, dataset, named datatype, and attribute) which belongs to the file. Platforms tested: h5committest and fuss. Misc. update: MANIFEST and RELEASE.txt
* [svn-r8732] Purpose:Quincey Koziol2004-06-231-2/+2
| | | | | | | | | | | | Code cleanup Description: Reduce compiler warnings on SGI IRIX Platforms tested: FreeBSD 4.10 (sleipnir) SGI IRIX6 (Cheryl's machine) Too minor to require full h5committest
* [svn-r8731] Purpose:Quincey Koziol2004-06-231-34/+48
| | | | | | | | | | | | | | | Code cleanup & minor optimization Description: Re-work the way interface initialization routines are specified in the library to avoid the overhead of checking for them in routines where there is no interface initialization routine. This cleans up warnings with gcc 3.4, reduces the library binary size a bit (about 2-3%) and should speedup the library's execution slightly. Platforms tested: FreeBSD 4.10 (sleipnir) w/gcc34 h5committest
* [svn-r8712] Fixed bugs in H5I codeJames Laird2004-06-211-1/+1
|
* [svn-r8711] Fixed bugs in H5I code, updated manifest.James Laird2004-06-211-2/+1
|
* [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to ↵James Laird2004-06-181-315/+943
| | | | allow users to register IDs and ID types at runtime.
* [svn-r8139] Purpose:Quincey Koziol2004-01-311-5/+4
| | | | | | | | | | Code cleanup Description: Clean up compiler warnings. Platforms tested: h5committested
* [svn-r8135] Purpose:Quincey Koziol2004-01-311-15/+11
| | | | | | | | | | | | Optimization Description: Speed up core ID lookup routine (H5I_find_id) by re-structuring the logic to reduce the number of 'if' statements. Platforms tested: IBM p690 (copper) too minor to require h5committest
* [svn-r7988] Purpose:Quincey Koziol2003-12-291-5/+4
| | | | | | | | | | | Bug fixes & code cleanup Description: Back out some of the debugging that was inadvertently checked in recently. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7984] Purpose: bug fixRaymond Lu2003-12-291-4/+5
| | | | | | | Description: VL datatype fails in certain way(hard to describe) Platforms tested: h5committest
* [svn-r7932] Purpose:Quincey Koziol2003-12-111-32/+201
| | | | | | | | | | | Add new feature Description: Add new H5I{dec|get|inc}_ref() routines and tests for them. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r7917] Purpose:Quincey Koziol2003-12-061-4/+4
| | | | | | | | | | | | | | | | | | | Code cleanup Description: Clean up compiler warnings, especially the 'FUNC' variable not used which comes out in production mode. Solution: Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API functions which don't need the 'FUNC' variable defined. (This will be _so_ much easier when C99 is standard on all our supposed platforms, since it has a __FUNC__ macro... ) Platforms tested: FreeBSD 4.9 (sleipnir) too minor for h5committest (although there were lots of files changed, the change was minor in each one)
* [svn-r7871] Purpose:Quincey Koziol2003-11-211-5/+3
| | | | | | | | | | | Code cleanup Description: Make some functions static and remove unused variables, etc. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7868] Purpose: new featureRaymond Lu2003-11-211-3/+5
| | | | | | | | | | Description: data type conversion between integers and float numbers. (Cover your ears. It's going to explode.:) Solution: covers all native type conversion. Mainly uses hardware conversion but handles overflow more gracefully. Platforms tested: h5committest
* [svn-r7803] Purpose:Quincey Koziol2003-10-311-1/+2
| | | | | | | | | | | | Minor code cleanup Description: Fixed up comments, made the H5I_get_file_id() routine static, removed H5Gprivate from including itself... Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7801] Purpose: added featureRaymond Lu2003-10-311-6/+6
| | | | | | | | Description: more feature to H5Iget_file_id(). If file ID is closed, it can still return an ID given object ID. Platforms tested: h5committest
* [svn-r7786] Purpose:Quincey Koziol2003-10-291-18/+22
| | | | | | | | | | | | Code cleanup & add a feature Description: Added support for querying the file ID of named datatypes to new H5Iget_file_id function. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7784] *** empty log message ***Raymond Lu2003-10-291-0/+88
|
* [svn-r7553] Purpose:Quincey Koziol2003-10-061-79/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Improved algorithm (bug fix, sorta) Description: The internal algorithm for adding new IDs in the ID manager code (H5I) was adding new IDs to the front of the linked list and never adjusting the order of the items on the list (unless an ID was deleted). If many new objects were created, they would push earlier ones _way_ down the list (especially if the objects were being leaked in the application, as they appear to be in the current HDF-EOS5 library) and would cause O(n) search time for items on the list. The ID caching code in the ID manager was avoiding this behavior sometimes, but it was adding IDs that were looked up to the very tail of the cache and they would frequently leave the cache before helping. Solution: Implemented a "move to front" scheme for the linked list of IDs, which improves the lookup situation for frequently accessed objects. Removed ID caching code now, as the "move to front" algorithm actually works better. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7303] Purpose:Quincey Koziol2003-08-081-2/+4
| | | | | | | | | | | | | | Code cleanup Description: Chase new error API usage Protect against the current ID getting deleted during iteration over an ID group. Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-1/+1
|