public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libfortran/25830]  New: [libgfortran] Optionally support multi-process locking
@ 2006-01-17 22:06 jb at gcc dot gnu dot org
  2006-01-17 22:07 ` [Bug libfortran/25830] " jb at gcc dot gnu dot org
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: jb at gcc dot gnu dot org @ 2006-01-17 22:06 UTC (permalink / raw)
  To: gcc-bugs

Currently the gfortran IO library is supposed to be thread safe. Additionally,
allowing multiple processes to access the same file could be useful, and if we
eventually want to support co-arrays with multiple processes, it will be needed
as co-arrays specify that multiple images can access a single file.

On POSIX this can be accomplished with the fcntl() syscall. We'd certainly want
to make this optional (perhaps with a compiler command-line switch like the fpe
options), to avoid the fcntl() overhead as well as frequent buffer flushing in
normal single-process usage.


-- 
           Summary: [libgfortran] Optionally support multi-process locking
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jb at gcc dot gnu dot org
OtherBugsDependingO 18918,25561
             nThis:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25830


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libfortran/25830] [libgfortran] Optionally support multi-process locking
  2006-01-17 22:06 [Bug libfortran/25830] New: [libgfortran] Optionally support multi-process locking jb at gcc dot gnu dot org
@ 2006-01-17 22:07 ` jb at gcc dot gnu dot org
  2006-01-17 23:33 ` pinskia at gcc dot gnu dot org
  2008-11-20 15:53 ` burnus at gcc dot gnu dot org
  2 siblings, 0 replies; 6+ messages in thread
From: jb at gcc dot gnu dot org @ 2006-01-17 22:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jb at gcc dot gnu dot org  2006-01-17 22:07 -------
Change severity to enhancement.


-- 

jb at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25830


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libfortran/25830] [libgfortran] Optionally support multi-process locking
  2006-01-17 22:06 [Bug libfortran/25830] New: [libgfortran] Optionally support multi-process locking jb at gcc dot gnu dot org
  2006-01-17 22:07 ` [Bug libfortran/25830] " jb at gcc dot gnu dot org
@ 2006-01-17 23:33 ` pinskia at gcc dot gnu dot org
  2008-11-20 15:53 ` burnus at gcc dot gnu dot org
  2 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-01-17 23:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-01-17 23:33 -------
Coonfirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-01-17 23:33:50
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25830


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libfortran/25830] [libgfortran] Optionally support multi-process locking
  2006-01-17 22:06 [Bug libfortran/25830] New: [libgfortran] Optionally support multi-process locking jb at gcc dot gnu dot org
  2006-01-17 22:07 ` [Bug libfortran/25830] " jb at gcc dot gnu dot org
  2006-01-17 23:33 ` pinskia at gcc dot gnu dot org
@ 2008-11-20 15:53 ` burnus at gcc dot gnu dot org
  2 siblings, 0 replies; 6+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-11-20 15:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from burnus at gcc dot gnu dot org  2008-11-20 15:52 -------
Other compilers have the SHARE= specifier for OPEN and INQUIRE, e.g. Intel or
HP. I'm not sure it is needed, but one could consider supporting it as well
when implementing this option.

http://www.intel.com/software/products/compilers/docs/flin/main_for/lref_for/source_files/rflioop.htm

I think Fortran 2008 does not allow to such access which makes it a non-issue
in terms of the standard, including for coarrays, but still this is a not so
rarely requested feature. (But one has to be careful as a user otherwise the
program might read/write garbage.)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25830


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libfortran/25830] [libgfortran] Optionally support multi-process locking
       [not found] <bug-25830-4@http.gcc.gnu.org/bugzilla/>
  2011-04-25 16:41 ` jb at gcc dot gnu.org
@ 2020-04-21  9:45 ` cvs-commit at gcc dot gnu.org
  1 sibling, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-21  9:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25830

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nick Clifton <nickc@gcc.gnu.org>:

https://gcc.gnu.org/g:e6cbe9654d14588f8bcaf267730fa4c694216eee

commit r10-7841-ge6cbe9654d14588f8bcaf267730fa4c694216eee
Author: Stephen Casner <casner@acm.org>
Date:   Tue Apr 21 10:44:32 2020 +0100

    Since the pdp11-aout target does not support gdb, gdbserver or gprof these
should be excluded in configure.

            PR 25830
            * configure.ac (noconfigdirs): Exclude gdb & gprof for pdp11.
            * configure: Rebuild.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug libfortran/25830] [libgfortran] Optionally support multi-process locking
       [not found] <bug-25830-4@http.gcc.gnu.org/bugzilla/>
@ 2011-04-25 16:41 ` jb at gcc dot gnu.org
  2020-04-21  9:45 ` cvs-commit at gcc dot gnu.org
  1 sibling, 0 replies; 6+ messages in thread
From: jb at gcc dot gnu.org @ 2011-04-25 16:41 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25830

--- Comment #4 from Janne Blomqvist <jb at gcc dot gnu.org> 2011-04-25 16:41:26 UTC ---
Some writings arguing that POSIX locking is more or less fundamentally broken:

http://0pointer.de/blog/projects/locking.html

http://0pointer.de/blog/projects/locking2.html

http://www.samba.org/samba/news/articles/low_point/tale_two_stds_os2.html

AFAICS, if gfortran is to eventually support multi-image IO in the context of
Co-array Fortran as in the TR

http://j3-fortran.org/doc/meeting/192/10-166.pdf ,

it is possible to implement all of this without relying on POSIX locking
(fcntl) for synchronization, instead using the existing IPC channels that
co-arrays provide. 

That being said, it might be necessary to do a fcntl lock+unlock at appropriate
places in order to force the NFS client to flush dirty bytes to the server;
alternatives to using fcntl() to force NFS flushing is fsync or a close+reopen
of the POSIX file descriptor. Close+reopen does have the nice property of being
portable and not relying on a working NFS locking implementation.

FWIW, one strange thing about the 10-166 TR is that there is no mention of
stream access, which AFAICS is suited to parallel access just like direct
access.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-21  9:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-17 22:06 [Bug libfortran/25830] New: [libgfortran] Optionally support multi-process locking jb at gcc dot gnu dot org
2006-01-17 22:07 ` [Bug libfortran/25830] " jb at gcc dot gnu dot org
2006-01-17 23:33 ` pinskia at gcc dot gnu dot org
2008-11-20 15:53 ` burnus at gcc dot gnu dot org
     [not found] <bug-25830-4@http.gcc.gnu.org/bugzilla/>
2011-04-25 16:41 ` jb at gcc dot gnu.org
2020-04-21  9:45 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).