This is a static archive of the previous Open Grid Forum Redmine content management system saved from host redmine.ogf.org file /issues/162 at Thu, 03 Nov 2022 15:08:35 GMT bug #162: implementation specific structs should be visible in drmaa2.h - DRMAAv2 C Binding - Open Grid Forum

bug #162

implementation specific structs should be visible in drmaa2.h

Added by Daniel Gruber about 8 years ago. Updated over 7 years ago.

Status:closed Start date:08/26/2014
Priority:Normal Due date:
Assignee:Daniel Gruber % Done:

0%

Category:-
Target version:-

Description

Following finding from Go language binding which
is implemented on top of DRMAA2 C API:

It was required to allocate and free memory of
declared structs which are implementation specific,
like drmaa2_j_s, drmaa2_jarray_s, drmaa2_jsession_s, ...
Hence I moved the typedef from the private header
into the public drmaa2.h so that the language binding
can work with it.

For language binding compatibility reasons we could make
a note to do this in other implementations as well.

History

Updated by Peter Tröger about 8 years ago

  • Status changed from submitted to accepted

The OGF-42 meeting decided that this issue is solved by the explicit definition of an implementation-specific DRMAAv2 header file, without declaring the content. This saves us from having differing drmaa2.h header files, as with the original proposal.

The C language binding should define the file name (e.g. drmaa2_impl.h) for that private header. By this, higher-level libraries (e.g. the DRMAAv2 Go library) have a portable way to include the according structure definitions. One example use case is when the Go binding implementation tries to return a job template object that contains a Go Job object. The information for the content of this object comes from the underlying DRMAAv2 C library.

The whole issue is not relevant for applications using the DRMAAv2 C library direcly, since the forward-declared data structures are only returned to them.

Updated by Peter Tröger about 8 years ago

  • Status changed from accepted to final review

Updated by Peter Tröger over 7 years ago

  • Status changed from final review to closed

Fixed in July 2015 errata.

Updated by Daniel Gruber over 7 years ago

  • Assignee set to Daniel Gruber

The approach of drmaa2_impl.h we agreed at ISC 2015 f2f meeting does
not work since those data structures are depended from drmaa2.h.
Hence you would have circular dependencies. Resolving it to have
more header file is not an option.

So we agreed that having the implementation specific functions in the
drmaa2.h file.

(Other formats not available in this archive.

This is a static archive of the previous Open Grid Forum Redmine content management system saved from host redmine.ogf.org file /issues/162 at Thu, 03 Nov 2022 15:08:37 GMT