Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
file mapped bigarray and Unix.unlink
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Matthieu Dubuget <matthieu.dubuget@m...>
Subject: file mapped bigarray and Unix.unlink

I have difficulties to delete one file (name: fn, file descriptor:
fdesc) with "Unix.unlink fn".

I suspect that this is because I have a bigarray ba mapped with fdesc.
Is it a possible reason?

At some point, I want to delete fn because the saving operation was
cancelled by the user.

I assure that the binding to ba is lost.

Then, I close the file handle with
"Unix.close fdesc;"

At this point,
"Unix.rename fn g;" works, but
"Unix.unlink fn;" fails with : Permission denied error.

following my idea that this can be due to the fact that fn is mapped in
memory, I tried to insert a Gc.compact, in order for ba to be erased:

Unix.close fdesc;
Gc.compact ();
Unix.unlink fn;

but got the same error message.

Any idea?