
Hello. What about include O_SYNC flag in the Posix.OpenFileFlag? Max.

I think that's a reasonable request, but the reason that
it isn't in there already is that the Posix library implements
just POSIX 1003.1a (1990), not also 1003.1b (1993),
which is when the (so-called) real-time/POSIX.4 extensions
(incl O_SYNC) were introduced.
Rather than patching the Posix library to include stuff like
O_SYNC, I'd like to see a Haskell binding to the Single
UNIX (aka Unix98) instead - it subsumes the
POSIX.1 APIs (and you can get at the specs without having
to pay the extortionate rates that IEEE charges). Feel free
to contribute such a binding!
--sigbjorn
----- Original Message -----
From: "Max A . K ."
Hello.
What about include O_SYNC flag in the Posix.OpenFileFlag?
Max.
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On Mon, Nov 19, 2001 at 10:14:02AM -0800, Sigbjorn Finne wrote:
I think that's a reasonable request, but the reason that it isn't in there already is that the Posix library implements just POSIX 1003.1a (1990), not also 1003.1b (1993), which is when the (so-called) real-time/POSIX.4 extensions (incl O_SYNC) were introduced.
I see.
Rather than patching the Posix library to include stuff like O_SYNC, I'd like to see a Haskell binding to the Single UNIX (aka Unix98) instead - it subsumes the POSIX.1 APIs (and you can get at the specs without having to pay the extortionate rates that IEEE charges). Feel free to contribute such a binding!
I'm afraid I will not. There is pretty huge number of functions to bind, and I'm afraid to miss some. Then I'm not wery good Haskeller. Moreover, I could not see the Single Unix features in the linux-2.2 (at least that nice O_DSYNC flag). Maybe they are presented in 2.4, but I have no plan to use it. Well, what is a position of the GHC maintainers about that? Max.

"Max A . K ."
On Mon, Nov 19, 2001 at 10:14:02AM -0800, Sigbjorn Finne wrote:
I think that's a reasonable request, but the reason that it isn't in there already is that the Posix library implements just POSIX 1003.1a (1990), not also 1003.1b (1993), which is when the (so-called) real-time/POSIX.4 extensions (incl O_SYNC) were introduced.
I see.
Rather than patching the Posix library to include stuff like O_SYNC, I'd like to see a Haskell binding to the Single UNIX (aka Unix98) instead - it subsumes the POSIX.1 APIs (and you can get at the specs without having to pay the extortionate rates that IEEE charges). Feel free to contribute such a binding!
I'm afraid I will not. There is pretty huge number of functions to bind, and I'm afraid to miss some. Then I'm not wery good Haskeller.
Moreover, I could not see the Single Unix features in the linux-2.2 (at least that nice O_DSYNC flag). Maybe they are presented in 2.4, but I have no plan to use it.
AFAIK no OS implements all of the Single Unix specification. Nevertheless, I think, Sigbjorn is right. Ideally, we should have a binding for Single Unix and on any particular OS, you will have a subset of it available (that's the same situation as you have with any other programming language). As is pointed out in the open(2) man page, O_SYNC, O_DSYNC, and O_RSYNC are synonymous in Linux 2.2. In 2.4, at least with some file systems (eg, XFS) you can choose which behaviour O_SYNC should have. Cheers, Manuel

On Tue, Nov 20, 2001 at 12:04:47PM +1100, Manuel M. T. Chakravarty wrote:
AFAIK no OS implements all of the Single Unix specification. Nevertheless, I think, Sigbjorn is right. Ideally, we should have a binding for Single Unix and on any particular OS, you will have a subset of it available (that's the same situation as you have with any other programming language).
As is pointed out in the open(2) man page, O_SYNC, O_DSYNC, and O_RSYNC are synonymous in Linux 2.2. In 2.4, at least with some file systems (eg, XFS) you can choose which behaviour O_SYNC should have.
I understand. So, can the attached file be a "Single Unix compatible" 'open' function binding? The only difference I see is the *SYNC flags. Did I miss anything? Max.
participants (3)
-
Manuel M. T. Chakravarty
-
Max A . K .
-
Sigbjorn Finne