annotate mem_win.c @ 1691:e96d0d3bec7f

Don't leak a system context when a game is unloaded
author Mike Pavone <pavone@retrodev.com>
date Sun, 20 Jan 2019 22:48:16 -0800
parents bce97fc0bb8a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
741
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 /*
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 Copyright 2013 Michael Pavone
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
3 This file is part of BlastEm.
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4 BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text.
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
5 */
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 #include "mem.h"
795
bce97fc0bb8a Fix mingw-w64 build and cross-compilation
=?UTF-8?q?Higor=20Eur=C3=ADpedes?= <heuripedes@gmail.com>
parents: 741
diff changeset
8 #include <windows.h>
741
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
9
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10 void * alloc_code(size_t *size)
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
11 {
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
12 *size += PAGE_SIZE - (*size & (PAGE_SIZE - 1));
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
13
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
14 return VirtualAlloc(NULL, *size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
15 }