diff options
author | David Walter Seikel | 2012-01-23 23:30:42 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-23 23:30:42 +1000 |
commit | 825a3d837a33f226c879cd02ad15c3fba57e8b2c (patch) | |
tree | 75f57bd9c4253508d338dc79ba8e57a7abc42255 /libraries/eina/src/lib/eina_mmap.c | |
parent | Add ability to disable the test harness, or the Lua compile test. (diff) | |
download | SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.zip SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.gz SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.bz2 SledjHamr-825a3d837a33f226c879cd02ad15c3fba57e8b2c.tar.xz |
Update the EFL to what I'm actually using, coz I'm using some stuff not yet released.
Diffstat (limited to 'libraries/eina/src/lib/eina_mmap.c')
-rw-r--r-- | libraries/eina/src/lib/eina_mmap.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libraries/eina/src/lib/eina_mmap.c b/libraries/eina/src/lib/eina_mmap.c index fb27bd7..7929f0e 100644 --- a/libraries/eina/src/lib/eina_mmap.c +++ b/libraries/eina/src/lib/eina_mmap.c | |||
@@ -110,6 +110,8 @@ _eina_mmap_safe_sigbus(int sig __UNUSED__, | |||
110 | errno = perrno; | 110 | errno = perrno; |
111 | abort(); | 111 | abort(); |
112 | } | 112 | } |
113 | /* Look into mmaped Eina_File if it was one of them, just to remember for later request */ | ||
114 | eina_file_mmap_faulty(addr, _eina_mmap_pagesize); | ||
113 | /* restore previous errno */ | 115 | /* restore previous errno */ |
114 | errno = perrno; | 116 | errno = perrno; |
115 | } | 117 | } |
@@ -162,6 +164,9 @@ eina_mmap_safety_enabled_set(Eina_Bool enabled) | |||
162 | sa.sa_sigaction = _eina_mmap_safe_sigbus; | 164 | sa.sa_sigaction = _eina_mmap_safe_sigbus; |
163 | sa.sa_flags = SA_RESTART | SA_SIGINFO; | 165 | sa.sa_flags = SA_RESTART | SA_SIGINFO; |
164 | sigemptyset(&sa.sa_mask); | 166 | sigemptyset(&sa.sa_mask); |
167 | /* FIXME: This is rubbish. We return EINA_FALSE whether sigaction | ||
168 | * fails or not. And we never set mmap_safe, so we always hit this | ||
169 | * code path. */ | ||
165 | if (sigaction(SIGBUS, &sa, NULL) == 0) return EINA_FALSE; | 170 | if (sigaction(SIGBUS, &sa, NULL) == 0) return EINA_FALSE; |
166 | /* setup of SIGBUS handler failed, lets close zero page dev and fail */ | 171 | /* setup of SIGBUS handler failed, lets close zero page dev and fail */ |
167 | close(_eina_mmap_zero_fd); | 172 | close(_eina_mmap_zero_fd); |