summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdecore/tdeconfigbackend.cpp76
1 files changed, 4 insertions, 72 deletions
diff --git a/tdecore/tdeconfigbackend.cpp b/tdecore/tdeconfigbackend.cpp
index 707f4fe69..c7944ed12 100644
--- a/tdecore/tdeconfigbackend.cpp
+++ b/tdecore/tdeconfigbackend.cpp
@@ -431,80 +431,23 @@ bool TDEConfigINIBackEnd::parseConfigFiles()
return true;
}
-#ifdef HAVE_MMAP
-#ifdef SIGBUS
-static sigjmp_buf mmap_jmpbuf;
-struct sigaction mmap_old_sigact;
-
-extern "C" {
- static void mmap_sigbus_handler(int)
- {
- siglongjmp (mmap_jmpbuf, 1);
- }
-}
-#endif
-#endif
-
extern bool kde_kiosk_exception;
void TDEConfigINIBackEnd::parseSingleConfigFile(TQFile &rFile,
KEntryMap *pWriteBackMap,
bool bGlobal, bool bDefault)
{
- const char *s; // May get clobbered by sigsetjump, but we don't use them afterwards.
- const char *eof; // May get clobbered by sigsetjump, but we don't use them afterwards.
- TQByteArray data;
-
if (!rFile.isOpen()) // come back, if you have real work for us ;->
return;
- //using kdDebug() here leads to an infinite loop
- //remove this for the release, aleXXX
- //tqWarning("Parsing %s, global = %s default = %s",
- // rFile.name().latin1(), bGlobal ? "true" : "false", bDefault ? "true" : "false");
-
TQCString aCurrentGroup("<default>");
unsigned int ll = localeString.length();
-#ifdef HAVE_MMAP
- static volatile const char *map;
- map = ( const char* ) mmap(0, rFile.size(), PROT_READ, MAP_PRIVATE,
- rFile.handle(), 0);
-
- if ( map != MAP_FAILED )
- {
- s = (const char*) map;
- eof = s + rFile.size();
-
-#ifdef SIGBUS
- struct sigaction act;
- act.sa_handler = mmap_sigbus_handler;
- sigemptyset( &act.sa_mask );
-#ifdef SA_ONESHOT
- act.sa_flags = SA_ONESHOT;
-#else
- act.sa_flags = SA_RESETHAND;
-#endif
- sigaction( SIGBUS, &act, &mmap_old_sigact );
-
- if (sigsetjmp (mmap_jmpbuf, 1))
- {
-tqWarning("SIGBUS while reading %s", rFile.name().latin1());
- munmap(( char* )map, rFile.size());
- sigaction (SIGBUS, &mmap_old_sigact, 0);
- return;
- }
-#endif
- }
- else
-#endif
- {
- rFile.at(0);
- data = rFile.readAll();
- s = data.data();
- eof = s + data.size();
- }
+ rFile.at(0);
+ TQByteArray data = rFile.readAll();
+ const char *s = data.data();
+ const char *eof = s + data.size();
bool fileOptionImmutable = false;
bool groupOptionImmutable = false;
@@ -757,19 +700,8 @@ tqWarning("SIGBUS while reading %s", rFile.name().latin1());
}
}
-
if (fileOptionImmutable)
bFileImmutable = true;
-
-#ifdef HAVE_MMAP
- if (map)
- {
- munmap(( char* )map, rFile.size());
-#ifdef SIGBUS
- sigaction (SIGBUS, &mmap_old_sigact, 0);
-#endif
- }
-#endif
}
void TDEConfigINIBackEnd::translateKey(TDELocale& locale, TQCString currentGroup, TQCString key) {