Commit Graph

20 Commits

Author SHA1 Message Date
Matthias Clasen
7154d44c5c Move file utility docs inline 2011-10-01 23:03:09 -04:00
Chun-wei Fan
9958909fb2 gmappedfile.c: Define S_IFREG on Win32 when it's not available
Make a workaround for S_IFREG in gmappedfile.c on Windows as it may not be
available for a given compiler on that platform
2011-09-23 09:36:37 +08:00
Philip Van Hoof
ca154c399b GMappedFile: Add API to create from an existing file descriptor
At Tracker we want to mmap files using O_NOATIME. With GMappedFile this is at
the moment impossible. For that reason I added the constructor new_from_fd to
the GMappedFile type.

https://bugzilla.gnome.org/show_bug.cgi?id=659754
2011-09-22 00:01:56 +02:00
Matthias Clasen
c6f84faa17 Forgotten part of an earlier mismerge
This is making gmappedfile.c identical to the glib-2-30 branch again.
2011-09-21 15:47:26 -04:00
Matthias Clasen
f18eab2ac7 GMappedFile: return an error when trying to map a device
Previously, we were returning an empty buffer for all filenames
where fstat() gives a size of 0. But this is only appropriate
for regular files.

Also improve the documentation around this issue. Based on a
patch by Ryan Lortie.

Conflicts:

	glib/tests/mappedfile.c

https://bugzilla.gnome.org/show_bug.cgi?id=659212
2011-09-17 20:03:00 -04:00
Colin Walters
a6f09e104c GBuffer: Suffix header with private.h
This makes it clearer it's not public API yet.

https://bugzilla.gnome.org/show_bug.cgi?id=651745
2011-06-06 09:58:21 -04:00
Matthias Clasen
4971c43da8 GMappedFile: remove nonatomic accesses to ref_count 2011-06-06 01:04:19 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Christian Persch
1953b4087f Use static assert over runtime assert if possible
We can test the these at compile time. Bug #609231.
2010-03-15 15:49:03 -04:00
Ryan Lortie
eea6042f5f GMappedFile: minimal changes to support GBuffer
Just reorganise the GMappedFile struct to be binary compatible with
GBuffer.  If GBuffer becomes public later then we can revisit this.
2010-02-06 10:19:29 -05:00
Tor Lillqvist
5589d2b455 Internally use the _stati64 API explicitly on Windows
Avoids warnings and confusion when compiling with MSVC.
2010-02-04 19:58:55 +02:00
Ryan Lortie
b0a0ac51cb Return NULL from g_mapped_file_get_contents()
In the case of an empty file, return NULL instead of "".  This means
that the return result of g_mapped_file_get_contents() will always be
page-aligned.
2010-01-27 21:33:35 -05:00
Ryan Lortie
4c791f49e5 GMappedFile: add refcounting, switch to GSlice
- add g_mapped_file_ref() and g_mapped_file_unref().
  - deprecate g_mapped_file_free().
  - move to GSlice for allocating the GMappedFile struct.
2009-06-18 15:01:18 -04:00
Hans Breuer
4a50bab276 Define fstat() for msvc build 2009-05-30 15:33:14 +02:00
Behdad Esfahbod
bf04380d3c Fix typos
svn path=/trunk/; revision=5712
2007-08-20 23:34:35 +00:00
Matthias Clasen
d87c91a396 Make mapping of empty files work. (#321530)
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

        * glib/gmappedfile.c: Make mapping of empty files
        work.  (#321530)
2005-12-03 06:44:02 +00:00
Matthias Clasen
38094ffb5c Report an error if the file is too large. (#315275, Kjartan Maraas)
2005-09-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmappedfile.c (g_mapped_file_new): Report an error
	if the file is too large.  (#315275, Kjartan Maraas)
2005-09-05 18:20:24 +00:00
Hans Breuer
99563f439c include <process.h> for getpid() include <io.h> for close() etc. add
2005-07-01  Hans Breuer  <hans@breuer.org>

	* glib/gmessages.c : include <process.h> for getpid()
	* glib/gmappedfile.c : include <io.h> for close() etc.
	* glib/makefile.msc.in : add gmappedfile.obj
2005-07-02 19:50:29 +00:00
Tor Lillqvist
ef48ce636b libtool installs/uninstalls the import library, no need to do it
2005-06-26  Tor Lillqvist  <tml@novell.com>

	* glib/Makefile.am: libtool installs/uninstalls the import
	library, no need to do it ourselves. Do still install/uninstall
	the .def file, though.

	* glib/gmappedfile.c: Add Win32 implementation.
	(g_mapped_file_free): Don't mention writable shared mappings in
	the doc comment. Free the GMappedFile struct.

	* tests/mapping-test.c (main): No kill() or SIGUSR1 on Win32, use
	a flag file instead to stop the child. Use g_usleep() instead of
	sleep().
2005-06-26 18:04:08 +00:00
Matthias Clasen
748c230205 Add an mmap() wrapper called GMappedFile. (#148218, David Schleef, Behdad
2005-06-24  Matthias Clasen  <mclasen@redhat.com>

	Add an mmap() wrapper called GMappedFile. (#148218,
	David Schleef, Behdad Esfahbod)

	* glib/gmappedfile.[hc]: New files.

	* configure.in: Check for mmap.

	* glib/Makefile.am: Add new files.

	* glib/glib.symbols: Add new functions.

	* glib/glib.h: Include gmappedfile.h

	* tests/mapping-test.c: Tests for GMappedFile.

	* tests/Makefile.am: Add new file.
2005-06-25 03:38:32 +00:00