1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
This commit is contained in:
stefanocasazza 2015-12-08 20:12:36 +01:00
parent 568cc15cf7
commit 83573aa493
47 changed files with 691 additions and 672 deletions

2
configure vendored
View File

@ -19887,7 +19887,7 @@ _ACEOF
fi
for ac_header in arpa/inet.h fcntl.h float.h inttypes.h libintl.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h \
for ac_header in arpa/inet.h asm/mman.h fcntl.h float.h inttypes.h libintl.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h \
string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h sys/resource.h syslog.h termios.h unistd.h wchar.h \
assert.h byteswap.h endian.h execinfo.h ifaddrs.h mcheck.h ndir.h dirent.h ndir.h string.h netpacket/packet.h sched.h \
semaphore.h sysexits.h streambuf.h poll.h net/if_arp.h sys/dir.h sys/endian.h sys/ndir.h sys/inotify.h sys/sendfile.h sys/sched.h \

View File

@ -606,7 +606,7 @@ AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
AC_FUNC_ALLOCA
AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h libintl.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h \
AC_CHECK_HEADERS([arpa/inet.h asm/mman.h fcntl.h float.h inttypes.h libintl.h limits.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h \
string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h sys/resource.h syslog.h termios.h unistd.h wchar.h \
assert.h byteswap.h endian.h execinfo.h ifaddrs.h mcheck.h ndir.h dirent.h ndir.h string.h netpacket/packet.h sched.h \
semaphore.h sysexits.h streambuf.h poll.h net/if_arp.h sys/dir.h sys/endian.h sys/ndir.h sys/inotify.h sys/sendfile.h sys/sched.h \

View File

@ -110,6 +110,10 @@ public:
~UHashMap()
{
U_TRACE_UNREGISTER_OBJECT(0, UHashMap<void*>)
U_INTERNAL_ASSERT_EQUALS(_length, 0)
if (_capacity) _deallocate();
}
// allocate and deallocate methods
@ -118,7 +122,12 @@ public:
{
U_TRACE_NO_PARAM(0, "UHashMap<void*>::deallocate()")
_capacity = 0;
if (_capacity)
{
_deallocate();
_capacity = 0;
}
}
void allocate(uint32_t n);
@ -315,6 +324,8 @@ protected:
{
U_TRACE(0, "UHashMap<void*>::init(%u)", n)
U_INTERNAL_DUMP("this = %p", this)
node = 0;
_allocate(n);

View File

@ -40,13 +40,13 @@ public:
U_CHECK_MEMORY
long diff1 = ctime.tv_sec + tv_sec - u_now->tv_sec,
diff2 = ctime.tv_usec + tv_usec - u_now->tv_usec;
long diff1 = ctime.tv_sec + tv_sec - timeout1.tv_sec,
diff2 = ctime.tv_usec + tv_usec - timeout1.tv_usec;
U_INTERNAL_DUMP("this = { %ld %6ld }, diff1 = %ld diff2 = %ld", ctime.tv_sec + tv_sec,
ctime.tv_usec + tv_usec, diff1, diff2)
if ( diff1 < 0 ||
if ( diff1 < 0 ||
(diff1 == 0 &&
diff2 <= 0))
{
@ -130,8 +130,8 @@ protected:
{
U_TRACE_NO_PARAM(0, "UEventTime::setMilliSecond()")
ms = ((ctime.tv_sec + tv_sec - u_now->tv_sec) * 1000L) +
((ctime.tv_usec + tv_usec - u_now->tv_usec) / 1000L);
ms = ((ctime.tv_sec + tv_sec - timeout1.tv_sec) * 1000L) +
((ctime.tv_usec + tv_usec - timeout1.tv_usec) / 1000L);
U_ASSERT(checkTolerance())
}
@ -140,14 +140,12 @@ protected:
{
U_TRACE_NO_PARAM(0, "UEventTime::checkMilliSecond()")
U_INTERNAL_DUMP("ms = %ld", ms)
long ms_calculated = ((ctime.tv_sec + tv_sec - timeout1.tv_sec) * 1000L) +
((ctime.tv_usec + tv_usec - timeout1.tv_usec) / 1000L);
long ms_calculated = ((ctime.tv_sec + tv_sec - u_now->tv_sec) * 1000L) +
((ctime.tv_usec + tv_usec - u_now->tv_usec) / 1000L);
if ((ms - ms_calculated) <= 1) U_RETURN(true);
if (ms == ms_calculated) U_RETURN(true);
U_INTERNAL_DUMP("ms_calculated = %ld", ms_calculated)
U_DEBUG("ms = %ld ms_calculated = %ld", ms, ms_calculated);
U_RETURN(false);
}
@ -168,14 +166,12 @@ protected:
U_ASSERT(checkMilliSecond())
U_INTERNAL_DUMP("tolerance = %ld", tolerance)
long tolerance_calculated = ((tv_sec * 1000L) +
(tv_usec / 1000L)) / 128;
if (tolerance == tolerance_calculated) U_RETURN(true);
if ((tolerance - tolerance_calculated) <= 1) U_RETURN(true);
U_INTERNAL_DUMP("tolerance_calculated = %ld", tolerance_calculated)
U_DEBUG("tolerance = %ld tolerance_calculated = %ld", tolerance, tolerance_calculated);
U_RETURN(false);
}

View File

@ -961,30 +961,32 @@ public:
}
else
{
if (c != '-') write_to_log = "EXIT"; // old compatibility
connected = false;
if (c != '-' ||
logout.size() > 2)
{
write_to_log = "EXIT"; // old compatibility
}
else
{
connected = false;
U_ASSERT_EQUALS(logout.size(), 2)
if (logout.size() > 2) write_to_log = "EXIT"; // old compatibility
else
switch (logout.c_char(1) - '0')
{
U_ASSERT_EQUALS(logout.size(), 2)
case U_LOGOUT_NO_TRAFFIC: write_to_log = "EXIT_NO_TRAFFIC"; break;
case U_LOGOUT_NO_ARP_CACHE: write_to_log = "EXIT_NO_ARP_CACHE"; break;
case U_LOGOUT_NO_ARP_REPLY: write_to_log = "EXIT_NO_ARP_REPLY"; break;
case U_LOGOUT_NO_MORE_TIME: write_to_log = "EXIT_NO_MORE_TIME"; break;
case U_LOGOUT_NO_MORE_TRAFFIC: write_to_log = "EXIT_NO_MORE_TRAFFIC"; break;
case U_LOGOUT_CHECK_FIREWALL: write_to_log = "EXIT_CHECK_FIREWALL"; break;
case U_LOGOUT_REQUEST_FROM_AUTH: write_to_log = "EXIT_REQUEST_FROM_AUTH"; break;
case U_LOGOUT_DIFFERENT_MAC_FOR_IP: write_to_log = "EXIT_DIFFERENT_MAC_FOR_IP"; break;
switch (logout.c_char(1) - '0')
{
case U_LOGOUT_NO_TRAFFIC: write_to_log = "EXIT_NO_TRAFFIC"; break;
case U_LOGOUT_NO_ARP_CACHE: write_to_log = "EXIT_NO_ARP_CACHE"; break;
case U_LOGOUT_NO_ARP_REPLY: write_to_log = "EXIT_NO_ARP_REPLY"; break;
case U_LOGOUT_NO_MORE_TIME: write_to_log = "EXIT_NO_MORE_TIME"; break;
case U_LOGOUT_NO_MORE_TRAFFIC: write_to_log = "EXIT_NO_MORE_TRAFFIC"; break;
case U_LOGOUT_CHECK_FIREWALL: write_to_log = "EXIT_CHECK_FIREWALL"; break;
case U_LOGOUT_REQUEST_FROM_AUTH: write_to_log = "EXIT_REQUEST_FROM_AUTH"; break;
case U_LOGOUT_DIFFERENT_MAC_FOR_IP: write_to_log = "EXIT_DIFFERENT_MAC_FOR_IP"; break;
}
default: U_ERROR("unexpected value for logout: %S", logout.rep);
}
}
U_INTERNAL_DUMP("_auth_domain = %V", _auth_domain.rep)
if (_auth_domain == *account_auth)
@ -1335,6 +1337,7 @@ next:
*/
U_INTERNAL_ASSERT(_mac)
U_INTERNAL_ASSERT(*traffic_counter)
ULog::log(file_LOG->getFd(), "op: %s, uid: %v, ap: %v, ip: %v, mac: %v, timeout: %v, traffic: %v, policy: %v",
op, uid->rep, getAP().rep, _ip.rep, _mac.rep, time_counter->rep, traffic_counter->rep, getPolicy().rep);
@ -4220,8 +4223,6 @@ next:
if (write_to_log &&
user_rec->setNodogReference())
{
ask_logout = true;
user_rec->writeToLOG(write_to_log);
}
@ -4636,7 +4637,8 @@ static void GET_login_validate()
if (checkLoginRequest(0, 14, 0, false) == false ||
checkLoginValidate(true) == false ||
nodog_rec->findLabel() == false)
nodog_rec->findLabel() == false ||
mac->empty()) // sometimes happen !
{
loginWithProblem();

View File

@ -18,7 +18,7 @@
#ifdef _MSWINDOWS_
#define st_ino u_inode
#elif defined(U_LINUX)
#elif defined(HAVE_ASM_MMAN_H)
# include <asm/mman.h>
#endif
@ -360,9 +360,11 @@ public:
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
# ifdef U_COVERITY_FALSE_POSITIVE
if (fd > 0)
@ -393,15 +395,20 @@ public:
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
st_size = lseek(U_SEEK_BEGIN, SEEK_END);
U_INTERNAL_ASSERT(st_size >= U_SEEK_BEGIN)
}
bool ftruncate(uint32_t n);
off_t size(bool bstat = false);
off_t getSize() const
@ -619,9 +626,11 @@ public:
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
# ifdef U_COVERITY_FALSE_POSITIVE
if (fd > 0)
@ -629,15 +638,73 @@ public:
(void) U_SYSCALL(fsync, "%d", fd);
}
bool fallocate(uint32_t n);
bool ftruncate(uint32_t n);
bool fallocate(uint32_t n)
{
U_TRACE(0, "UFile::fallocate(%u)", n)
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
if (fallocate(fd, n))
{
st_size = n;
U_RETURN(true);
}
U_RETURN(false);
}
static bool fallocate(int fd, uint32_t n);
static bool chdir(const char* path, bool flag_save = false);
// LOCKING
bool lock(short l_type = F_WRLCK, uint32_t start = 0, uint32_t len = 0) const; // set the lock, waiting if necessary
bool unlock( uint32_t start = 0, uint32_t len = 0) const { return lock(F_UNLCK, start, len); }
bool lock(short l_type = F_WRLCK, uint32_t start = 0, uint32_t len = 0) const
{
U_TRACE(0, "UFile::lock(%d,%u,%u)", l_type, start, len)
// set the lock, waiting if necessary
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
return lock(fd, l_type, start, len);
}
bool unlock(uint32_t start = 0, uint32_t len = 0) const
{
U_TRACE(0, "UFile::unlock(%u,%u)", start, len)
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
return lock(fd, F_UNLCK, start, len);
}
static bool lock(int fd, short l_type = F_WRLCK, uint32_t start = 0, uint32_t len = 0);
static bool unlock(int fd, uint32_t start = 0, uint32_t len = 0) { return lock(fd, F_UNLCK, start, len); }
// MEMORY MAPPED I/O (Basically, you can tell the OS that some file is the backing store for a certain portion of the process memory)
@ -766,9 +833,12 @@ public:
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
# if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
# endif
# ifdef U_COVERITY_FALSE_POSITIVE
if (fd <= 0) U_RETURN(0);
@ -780,9 +850,7 @@ public:
bool write(const char* data, uint32_t sz, bool append = false, bool bmkdirs = false);
bool write(const struct iovec* iov, int n, bool append = false, bool bmkdirs = false);
bool write(const UString& data, bool append = false, bool bmkdirs = false)
{ return write(U_STRING_TO_PARAM(data), append, bmkdirs); }
bool write(const UString& data, bool append = false, bool bmkdirs = false) { return write(U_STRING_TO_PARAM(data), append, bmkdirs); }
static int setSysParam( const char* name, int value, bool force = false);
static int getSysParam( const char* name);
@ -846,12 +914,7 @@ public:
// TEMP OP
// ----------------------------------------------------------------------------------------------------------------------
// create a unique temporary file
// ----------------------------------------------------------------------------------------------------------------------
bool mkTemp();
bool mkTempForLock();
static int mkTemp(); // create a unique temporary file
// --------------------------------------------------------------------------------------------------------------
// mkdtemp - create a unique temporary directory

View File

@ -31,8 +31,6 @@ public:
~UFileConfig()
{
U_TRACE_UNREGISTER_OBJECT(0, UFileConfig)
destroy();
}
// SERVICES

View File

@ -84,6 +84,9 @@
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <asm/mman.h> header file. */
#undef HAVE_ASM_MMAN_H
/* Define to 1 if you have the <assert.h> header file. */
#undef HAVE_ASSERT_H

View File

@ -33,7 +33,8 @@
# endif
#endif
#if defined(HAVE_EPOLL_WAIT) && !defined(USE_LIBEVENT) && !defined(U_SERVER_CAPTIVE_PORTAL) && (defined(U_LOG_ENABLE) || defined(USE_LIBZ))
#if defined(HAVE_EPOLL_WAIT) && !defined(USE_LIBEVENT) && !defined(U_SERVER_CAPTIVE_PORTAL) && \
(!defined(U_LINUX) || !defined(ENABLE_THREAD) || defined(U_LOG_ENABLE) || defined(USE_LIBZ))
# define U_EPOLLET_POSTPONE_STRATEGY
#endif

View File

@ -25,7 +25,6 @@ extern "C" { int sem_getvalue(sem_t* sem, int* sval); }
# endif
#endif
class UFile;
class UTimeVal;
class UServer_Base;
@ -108,7 +107,7 @@ protected:
#elif defined(_MSWINDOWS_) || (defined(HAVE_SEM_INIT) && (!defined(U_LINUX) || LINUX_VERSION_CODE > KERNEL_VERSION(2,6,7)))
sem_t* psem;
#else
UFile* psem;
int psem;
#endif
static USemaphore* first;

View File

@ -202,7 +202,12 @@ public:
tree.clear();
}
virtual ~USOAPParser();
virtual ~USOAPParser()
{
U_TRACE_UNREGISTER_OBJECT(0, USOAPParser)
clearData();
}
// SERVICES

View File

@ -141,7 +141,7 @@ char u_hostname[HOST_NAME_MAX+1];
int32_t u_printf_string_max_length;
uint32_t u_hostname_len, u_user_name_len, u_seed_hash = 0xdeadbeef;
const int MultiplyDeBruijnBitPosition2[32] = { 0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9 };
const char* restrict u_tmpdir;
const char* restrict u_tmpdir = "/tmp";
const unsigned char u_alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const unsigned char u_hex_upper[] = "0123456789ABCDEF";
const unsigned char u_hex_lower[] = "0123456789abcdef";

View File

@ -27,11 +27,16 @@ char* UFile::pfree;
uint32_t UFile::nfree;
uint32_t UFile::nr_hugepages;
uint32_t UFile::cwd_save_len;
uint32_t UFile::rlimit_memfree = 16U * 1024U;
uint32_t UFile::rlimit_memalloc = 256U * 1024U * 1024U;
#if defined(U_LINUX) && (defined(MAP_HUGE_1GB) || defined(MAP_HUGE_2MB)) // (since Linux 3.8)
uint32_t UFile::rlimit_memfree = U_2M;
#else
uint32_t UFile::rlimit_memfree = 16U*1024U;
#endif
uint32_t UFile::rlimit_memalloc = 256U*1024U*1024U;
#ifdef DEBUG
int UFile::num_file_object;
int UFile::num_file_object;
void UFile::inc_num_file_object(UFile* pthis)
{
@ -426,8 +431,7 @@ char* UFile::shm_open(const char* name, uint32_t length)
int _fd;
// open file in read-write mode and create it if its not there
// create the shared object with permissions for only the user to read and write
// open file in read-write mode and create it if its not there, create the shared object with permissions for only the user to read and write
#ifdef HAVE_SHM_OPEN
_fd = U_SYSCALL(shm_open, "%S,%d,%d", name, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
@ -570,27 +574,30 @@ char* UFile::mmap(uint32_t* plength, int _fd, int prot, int flags, uint32_t offs
char* _ptr;
bool _abort = false;
if (*plength >= rlimit_memalloc) // NB: we try to avoid huge swap pressure...
if (*plength >= rlimit_memalloc) // NB: we try to avoid strong swap pressure...
{
#ifndef U_SERVER_CAPTIVE_PORTAL
try_from_file_system:
#endif
UFile tmp;
*plength = (*plength + U_PAGEMASK) & ~U_PAGEMASK;
U_INTERNAL_ASSERT_EQUALS(*plength & U_PAGEMASK, 0)
U_DEBUG("we are going to allocate from file system (%u KB - %u bytes)", *plength / 1024, *plength);
int fd = mkTemp();
_ptr = (tmp.mkTemp() == false ||
tmp.fallocate(*plength) == false
? (char*)MAP_FAILED
: (char*)U_SYSCALL(mmap, "%d,%u,%d,%d,%d,%u", 0, tmp.st_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_NORESERVE, tmp.fd, 0));
if (fd != -1)
{
U_DEBUG("we are going to allocate from file system (%u KB - %u bytes)", *plength / 1024, *plength);
if (tmp.isOpen()) tmp.close();
if (fallocate(fd, *plength))
{
_ptr = (char*)U_SYSCALL(mmap, "%d,%u,%d,%d,%d,%u", 0, *plength, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_NORESERVE, fd, 0);
if (_ptr != (char*)MAP_FAILED) return _ptr;
if (_ptr != (char*)MAP_FAILED) return _ptr;
}
close(fd);
}
if (_abort)
{
@ -802,8 +809,13 @@ UString UFile::_getContent(bool bsize, bool brdonly, bool bmap)
U_INTERNAL_DUMP("fd = %d map = %p map_size = %u st_size = %I", fd, map, map_size, st_size)
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
#if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
#endif
# ifdef U_COVERITY_FALSE_POSITIVE
if (fd <= 0) return UString::getStringNull();
# endif
@ -981,7 +993,7 @@ bool UFile::write(const struct iovec* iov, int n, bool append, bool bmkdirs)
U_TRACE(0, "UFile::write(%p,%d,%b,%b)", iov, n, append, bmkdirs)
if (creatForWrite(append, bmkdirs) &&
UFile::writev(iov, n))
writev(iov, n))
{
U_RETURN(true);
}
@ -1023,9 +1035,7 @@ bool UFile::writeToTmp(const char* data, uint32_t sz, bool append, const char* f
if (sz)
{
UString path(U_PATH_MAX);
path.snprintf("%s/", u_tmpdir);
UString path((void*)U_CONSTANT_TO_PARAM("/tmp/"));
va_list argp;
va_start(argp, format);
@ -1048,9 +1058,7 @@ bool UFile::writeToTmp(const struct iovec* iov, int n, bool append, const char*
if (n)
{
UString path(U_PATH_MAX);
path.snprintf("%s/", u_tmpdir);
UString path((void*)U_CONSTANT_TO_PARAM("/tmp/"));
va_list argp;
va_start(argp, format);
@ -1065,16 +1073,11 @@ bool UFile::writeToTmp(const struct iovec* iov, int n, bool append, const char*
U_RETURN(result);
}
bool UFile::lock(short l_type, uint32_t start, uint32_t len) const
bool UFile::lock(int fd, short l_type, uint32_t start, uint32_t len)
{
U_TRACE(1, "UFile::lock(%d,%u,%u)", l_type, start, len)
U_CHECK_MEMORY
U_TRACE(1, "UFile::lock(%d,%d,%u,%u)", fd, l_type, start, len)
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
/**
* Advisory file segment locking data type - information passed to system by user
@ -1127,9 +1130,9 @@ bool UFile::lock(short l_type, uint32_t start, uint32_t len) const
* ---------------------------------------------------------------------------------------------------------------------
*/
bool result = (U_SYSCALL(fcntl, "%d,%d,%p", fd, F_SETLK, &flock) != -1); // F_SETLKW
if (U_SYSCALL(fcntl, "%d,%d,%p", fd, F_SETLK, &flock) != -1) U_RETURN(true); // F_SETLKW
U_RETURN(result);
U_RETURN(false);
}
bool UFile::ftruncate(uint32_t n)
@ -1173,41 +1176,25 @@ bool UFile::ftruncate(uint32_t n)
U_RETURN(false);
}
bool UFile::fallocate(uint32_t n)
bool UFile::fallocate(int fd, uint32_t n)
{
U_TRACE(1, "UFile::fallocate(%u)", n)
U_CHECK_MEMORY
U_TRACE(1, "UFile::fallocate(%d,%u)", fd, n)
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
#if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
#endif
#ifdef U_COVERITY_FALSE_POSITIVE
if (fd <= 0) U_RETURN(false);
#endif
#ifdef FALLOCATE_IS_SUPPORTED
if (U_SYSCALL(fallocate, "%d,%d,%u,%u", fd, 0, 0, n) == 0) goto next;
if (U_SYSCALL(fallocate, "%d,%d,%u,%u", fd, 0, 0, n) == 0) U_RETURN(true);
U_INTERNAL_DUMP("errno = %d", errno)
if (errno != EOPNOTSUPP) U_RETURN(false);
#endif
if (U_SYSCALL(ftruncate, "%d,%u", fd, n) == 0)
{
#ifdef FALLOCATE_IS_SUPPORTED
next:
#endif
st_size = n;
U_RETURN(true);
}
if (U_SYSCALL(ftruncate, "%d,%u", fd, n) == 0) U_RETURN(true);
U_RETURN(false);
}
@ -1236,19 +1223,14 @@ int UFile::getSysParam(const char* name)
{
U_TRACE(0, "UFile::getSysParam(%S)", name)
int value = -1, fd = open(name, O_RDONLY, PERM_FILE);
int value = -1,
fd = open(name, O_RDONLY, PERM_FILE);
if (fd != -1)
{
char buffer[32];
ssize_t n = U_SYSCALL(read, "%d,%p,%u", fd, buffer, sizeof(buffer)-1);
if (n > 0)
{
buffer[n] = '\0';
value = atoi(buffer);
}
if (U_SYSCALL(read, "%d,%p,%u", fd, buffer, sizeof(buffer)-1) > 0) value = strtol(buffer, 0, 10);
close(fd);
}
@ -1260,25 +1242,23 @@ int UFile::setSysParam(const char* name, int value, bool force)
{
U_TRACE(0, "UFile::setSysParam(%S,%u,%b)", name, value, force)
int old_value = -1, fd = open(name, O_RDWR, PERM_FILE);
int old_value = -1,
fd = open(name, O_RDWR, PERM_FILE);
if (fd != -1)
{
char buffer[32];
ssize_t n = U_SYSCALL(read, "%d,%p,%u", fd, buffer, sizeof(buffer)-1);
if (n > 0)
if (U_SYSCALL(read, "%d,%p,%u", fd, buffer, sizeof(buffer)-1) > 0)
{
buffer[n] = '\0';
old_value = atoi(buffer);
old_value = strtol(buffer, 0, 10);
if (force ||
old_value < value)
{
char* ptr = buffer;
(void) pwrite(fd, buffer, u_num2str32s(ptr, value), 0);
if (pwrite(fd, buffer, u_num2str32s(ptr, value), 0) > 0) old_value = value;
}
}
@ -1295,9 +1275,12 @@ bool UFile::pread(void* buf, uint32_t count, uint32_t offset)
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
#if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
#endif
#ifdef U_COVERITY_FALSE_POSITIVE
if (fd <= 0) U_RETURN(false);
@ -1315,9 +1298,12 @@ bool UFile::pwrite(const void* _buf, uint32_t count, uint32_t offset)
U_CHECK_MEMORY
U_INTERNAL_ASSERT_DIFFERS(fd, -1)
#if defined(DEBUG) && !defined(U_LINUX) && !defined(O_TMPFILE)
U_INTERNAL_ASSERT_POINTER(path_relativ)
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
#endif
#ifdef U_COVERITY_FALSE_POSITIVE
if (fd <= 0) U_RETURN(false);
@ -1409,7 +1395,7 @@ UString UFile::getRealPath(const char* path, bool brelativ)
// create a unique temporary file
bool UFile::mkTemp()
int UFile::mkTemp()
{
U_TRACE(1, "UFile::mkTemp()")
@ -1419,57 +1405,37 @@ bool UFile::mkTemp()
* would have opened and unlinked
*
* http://kernelnewbies.org/Linux_3.11#head-8be09d59438b31c2a724547838f234cb33c40357
*
* By default, /tmp on Fedora 18 will be on a tmpfs. Storage of large temporary files should be done in /var/tmp.
* This will reduce the I/O generated on disks, increase SSD lifetime, save power, and improve performance of the /tmp filesystem
*/
#if defined(U_LINUX) && defined(O_TMPFILE)
fd = U_SYSCALL(open, "%S,%d,%d", "/var/tmp", O_TMPFILE | O_RDWR, PERM_FILE);
int fd = U_SYSCALL(open, "%S,%d,%d", u_tmpdir, O_TMPFILE | O_RDWR, PERM_FILE);
#else
UString path((void*)U_CONSTANT_TO_PARAM("/var/tmp/mapXXXXXX"));
char _pathname[U_PATH_MAX];
setPath(path);
// The last six characters of template must be XXXXXX and these are replaced with a string that makes the filename unique
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
(void) u__snprintf(_pathname, sizeof(_pathname), "%s/tmpXXXXXX", u_tmpdir);
mode_t old_mode = U_SYSCALL(umask, "%d", 077); // Create file with restrictive permissions
errno = 0; // mkstemp may not set it on error
fd = U_SYSCALL(mkstemp, "%S", U_PATH_CONV((char*)path_relativ));
int fd = U_SYSCALL(mkstemp, "%S", U_PATH_CONV(_pathname));
(void) U_SYSCALL(unlink, "%S", U_PATH_CONV(_pathname));
(void) U_SYSCALL(umask, "%d", old_mode);
#endif
if (isOpen()) U_RETURN(true);
U_RETURN(false);
}
bool UFile::mkTempForLock()
{
U_TRACE(1, "UFile::mkTempForLock()")
UString path(U_PATH_MAX);
path.snprintf("%s/lockXXXXXX", u_tmpdir); // The last six characters of template must be XXXXXX and these are replaced with a string that makes the filename unique
setPath(path);
U_INTERNAL_DUMP("path_relativ(%u) = %.*S", path_relativ_len, path_relativ_len, path_relativ)
fd = U_SYSCALL(mkstemp, "%S", U_PATH_CONV((char*)path_relativ));
if (isOpen())
#ifdef DEBUG
if (fd != -1)
{
U_ASSERT( lock() &&
unlock())
U_RETURN(true);
U_ASSERT( lock(fd) &&
unlock(fd))
}
#endif
U_RETURN(false);
U_RETURN(fd);
}
// mkdtemp - create a unique temporary directory

View File

@ -132,16 +132,6 @@ void ULib_init()
UInterrupt::init();
// TMPDIR is the canonical Unix environment variable which points to user scratch space. Most Unix utilities will honor the setting of this
// variable and use its value to denote the scratch area for temporary files instead of the common default of /tmp.
// Other forms sometimes accepted are TEMP, TEMPDIR, and TMP but these are used more commonly by non-POSIX Operating systems.
// if defined, otherwise it will be created in /tmp
u_tmpdir = (const char*) U_SYSCALL(getenv, "%S", "TMPDIR");
if (u_tmpdir == 0) u_tmpdir = "/tmp";
#ifdef _MSWINDOWS_
WSADATA wsaData;
WORD version_requested = MAKEWORD(2, 2); // version_high, version_low
@ -193,9 +183,9 @@ void ULib_init()
* #endif
*/
UString::str_allocate(0);
#ifdef USE_LIBSSL
ULib_init_openssl();
#endif
UString::str_allocate(0);
}

View File

@ -408,7 +408,6 @@ void UMemoryPool::allocateMemoryBlocks(const char* ptr)
U_INTERNAL_ASSERT_POINTER(ptr)
#ifdef ENABLE_MEMPOOL
int value;
void* addr;
uint32_t i;
char* endptr;
@ -428,27 +427,32 @@ void UMemoryPool::allocateMemoryBlocks(const char* ptr)
if (*endptr == ':')
{
value = strtol(ptr, &endptr, 10);
int value = strtol(ptr, &endptr, 10);
if (value) UFile::rlimit_memalloc = value;
value = strtol(endptr + 1, &endptr, 10);
if (value)
{
UFile::rlimit_memfree = value;
# if defined(U_LINUX) && MAP_HUGE_2MB
if (value == U_2M)
{
// cat /proc/meminfo | grep Huge
UFile::nr_hugepages = UFile::setSysParam("/proc/sys/vm/nr_hugepages", U_2M * 64);
}
# endif
}
if (value) UFile::rlimit_memfree = value;
}
#if defined(U_LINUX) && defined(MAP_HUGE_2MB)
if (UFile::rlimit_memfree == U_2M)
{
# ifdef DEBUG
char buffer[256];
if (u_err_buffer == 0) u_err_buffer = buffer;
# endif
// cat /proc/meminfo | grep Huge
UFile::nr_hugepages = UFile::setSysParam("/proc/sys/vm/nr_hugepages", 64);
U_DEBUG("creation of 64 huge pages %s", UFile::nr_hugepages ? "success" : "FAILED");
}
#endif
for (i = 1; i < U_NUM_STACK_TYPE; ++i)
{
if (memblock[i] > 0) allocateMemoryBlocks(i, memblock[i]);

View File

@ -507,6 +507,8 @@ bool UClient_Base::readResponse(uint32_t count)
{
U_TRACE(0, "UClient_Base::readResponse(%u)", count)
U_ASSERT(response.uniq())
if (USocketExt::read(socket, response, count, timeoutMS))
{
if (log &&

View File

@ -85,7 +85,7 @@ U_NO_EXPORT bool UREDISClient_Base::processRequest(char recvtype)
U_TRACE(0, "UREDISClient_Base::processRequest(%C)", recvtype)
if (UClient_Base::sendRequest() &&
(UClient_Base::response.setBuffer(U_CAPACITY), UClient_Base::readResponse(U_SINGLE_READ)))
(vitem.clear(), UClient_Base::response.setBuffer(U_CAPACITY), UClient_Base::readResponse(U_SINGLE_READ)))
{
char prefix = UClient_Base::response[0];
@ -207,8 +207,6 @@ U_NO_EXPORT void UREDISClient_Base::processResponse()
U_INTERNAL_ASSERT_EQUALS(err, U_RC_OK)
vitem.clear();
char* ptr = UClient_Base::response.data();
const char* end = UClient_Base::response.end();

View File

@ -1444,7 +1444,7 @@ bool UClientImage_Base::writeResponse()
u__memcpy(iov_sav, iov_vec, U_IOV_TO_SAVE, __PRETTY_FUNCTION__);
# if defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
# if defined(U_LINUX) && defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
U_INTERNAL_ASSERT_POINTER(u_pthread_time)
U_INTERNAL_ASSERT_EQUALS(iov_vec[1].iov_base, ULog::ptr_shared_date->date3)
# else
@ -1614,12 +1614,7 @@ end:
if (nrequest) u_buffer_len = 0;
#endif
if (bflag)
{
// restore socket status flags
socket->setNonBlocking();
}
if (bflag) socket->setNonBlocking(); // restore socket status flags
U_RETURN(result);
}
@ -1705,35 +1700,22 @@ int UClientImage_Base::handlerResponse()
# ifndef U_CLIENT_RESPONSE_PARTIAL_WRITE_SUPPORT
resetPipelineAndSetCloseConnection();
# else
char path[MAX_FILENAME_LEN];
// By default, /tmp on Fedora 18 will be on a tmpfs. Storage of large temporary files should be done in /var/tmp.
// This will reduce the I/O generated on disks, increase SSD lifetime, save power, and improve performance of the /tmp filesystem.
const char* format = (ncount < (2 * 1024 * 1024)
? "/tmp/pwrite.%P.%4D"
: "/var/tmp/pwrite.%P.%4D");
uint32_t len = u__snprintf(path, sizeof(path), format, 0);
sfd = UFile::creat(path);
sfd = UFile::mkTemp();
if (sfd == -1)
{
U_SRV_LOG("partial write failed: (remain %u bytes) - error on create temporary file %.*S sock_fd %d sfd %d", ncount, len, path, socket->iSockDesc, sfd);
U_SRV_LOG("partial write failed: (remain %u bytes) - error on create temporary file - sock_fd %d", ncount, socket->iSockDesc);
U_RETURN(U_NOTIFIER_DELETE);
}
(void) UFile::_unlink(path);
U_INTERNAL_ASSERT_POINTER(piov)
int iBytesWrite = UFile::writev(sfd, piov, iovcnt);
if (iBytesWrite != (int)ncount)
{
U_SRV_LOG("partial write failed: (remain %u bytes) - error on write (%d bytes) on temporary file %.*S sock_fd %d sfd %d", ncount, iBytesWrite, len, path, socket->iSockDesc, sfd);
U_SRV_LOG("partial write failed: (remain %u bytes) - error on write (%d bytes) on temporary file - sock_fd %d sfd %d", ncount, iBytesWrite, socket->iSockDesc, sfd);
UFile::close(sfd);
sfd = -1;
@ -1741,9 +1723,9 @@ int UClientImage_Base::handlerResponse()
U_RETURN(U_NOTIFIER_DELETE);
}
U_SRV_LOG("partial write: (remain %u bytes) - create temporary file %.*S sock_fd %d sfd %d", ncount, len, path, socket->iSockDesc, sfd);
U_SRV_LOG("partial write: (remain %u bytes) - create temporary file - sock_fd %d sfd %d", ncount, socket->iSockDesc, sfd);
setPendingSendfile(); // NB: we have a pending sendfile...
setPendingSendfile(); // NB: now we have a pending sendfile...
U_RETURN(U_NOTIFIER_OK);
# endif

View File

@ -475,7 +475,7 @@ int UHttpPlugIn::handlerRun() // NB: we use this method instead of handlerInit()
UClientImage_Base::iov_vec[1].iov_base = (caddr_t)ULog::date.date3; // Date: Wed, 20 Jun 2012 11:43:17 GMT\r\nServer: ULib\r\nConnection: close\r\n
UClientImage_Base::iov_vec[1].iov_len = 6+29+2+12+2+17+2;
# if defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
# if defined(U_LINUX) && defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
U_INTERNAL_ASSERT_POINTER(u_pthread_time)
UClientImage_Base::iov_vec[1].iov_base = (caddr_t)UServer_Base::ptr_shared_data->log_date_shared.date3;

View File

@ -1191,7 +1191,6 @@ bool UNoCatPlugIn::checkAuthMessage(const UString& msg)
end:
args.clear();
args.deallocate();
U_RETURN(result);
}
@ -1329,7 +1328,6 @@ void UNoCatPlugIn::setNewPeer()
{
peer->mac = (*varp_cache)[i+1].copy();
U_INTERNAL_ASSERT(peer->mac)
U_ASSERT_EQUALS(peer->ifname, (*varp_cache)[i+2])
break;
@ -1337,6 +1335,7 @@ void UNoCatPlugIn::setNewPeer()
}
}
U_INTERNAL_ASSERT(peer->mac)
U_ASSERT_EQUALS(peer->mac, USocketExt::getMacAddress(peer->ip))
}
@ -1372,11 +1371,9 @@ next:
setFireWallCommand(peer->fw, *fw_cmd, peer->mac, peer->ip);
/**
* --------------------------------------------------------------------------------------------------------------------
* NB: tutto il traffico viene rediretto sulla 80 (CAPTIVE PORTAL) e quindi windows update, antivrus, etc...
* questo introduce la possibilita' che durante la fase di autorizzazione il token generato per il ticket autorizzativo
* non corrisponda piu' a quello inviato dal portale per l'autorizzazione...
* ---------------------------------------------------------------------------------------------------------------------
*/
peer->token = UStringExt::numberToString(u_random(u_now->tv_usec));
@ -1406,6 +1403,8 @@ void UNoCatPlugIn::checkOldPeer()
U_SRV_LOG("WARNING: different MAC (%v) for peer: IP %v MAC %v", mac.rep, peer->ip.rep, peer->mac.rep);
U_INTERNAL_ASSERT(peer->mac)
(void) getARPCache();
int disconnected = peer->checkPeerInfo(true);
@ -1418,11 +1417,11 @@ void UNoCatPlugIn::checkOldPeer()
peer->fw.setArgument(4, peer->mac.data());
// ---------------------------------------------------------------------------------------------------------------------
// NB: tutto il traffico viene rediretto sulla 80 (CAPTIVE PORTAL) e quindi windows update, antivrus, etc...
// questo introduce la possibilita' che durante la fase di autorizzazione il token generato per il ticket autorizzativo
// non corrisponda piu' a quello inviato dal portale per l'autorizzazione...
// ---------------------------------------------------------------------------------------------------------------------
/**
* NB: tutto il traffico viene rediretto sulla 80 (CAPTIVE PORTAL) e quindi windows update, antivrus, etc...
* questo introduce la possibilita' che durante la fase di autorizzazione il token generato per il ticket autorizzativo
* non corrisponda piu' a quello inviato dal portale per l'autorizzazione...
*/
peer->token = UStringExt::numberToString(u_random(u_now->tv_usec));
}
@ -1433,6 +1432,7 @@ void UNoCatPlugIn::addPeerInfo(int disconnected)
U_TRACE(0, "UNoCatPlugIn::addPeerInfo(%d)", disconnected)
U_INTERNAL_ASSERT_POINTER(peer)
U_INTERNAL_ASSERT(peer->mac)
U_INTERNAL_ASSERT(peer->user)
U_INTERNAL_ASSERT(u_now->tv_sec >= peer->ctime)
@ -2622,7 +2622,7 @@ set_redirect_to_AUTH:
if (mode == UHTTP::NO_BODY && // login_validate
(check_type & U_CHECK_MAC) != 0 && // not unifi (L2)
peer->mac == *UString::str_without_mac)
(peer->mac == *UString::str_without_mac || peer->mac.empty()))
{
mode = UHTTP::REFRESH | UHTTP::NO_BODY;
@ -2635,6 +2635,7 @@ set_redirect_to_AUTH:
else
{
U_INTERNAL_ASSERT_POINTER(peer)
U_INTERNAL_ASSERT(peer->mac)
Url* auth = (*vauth_url)[index_AUTH];
uint32_t sz = (buffer.size() * 3);

View File

@ -1015,6 +1015,18 @@ UServer_Base::UServer_Base(UFileConfig* pcfg)
U_WARNING("System date not updated: %#5D", u_now->tv_sec);
}
/**
* TMPDIR is the canonical Unix environment variable which points to user scratch space. Most Unix utilities will honor the setting of this
* variable and use its value to denote the scratch area for temporary files instead of the common default of /tmp. Other forms sometimes
* accepted are TEMP, TEMPDIR, and TMP but these are used more commonly by non-POSIX Operating systems. If defined, otherwise it will be
* /tmp. By default, /tmp on Fedora 18 will be on a tmpfs. Storage of large temporary files should be done in /var/tmp. This will reduce the
* I/O generated on disks, increase SSD lifetime, save power, and improve performance of the /tmp filesystem
*/
const char* tmpdir = (const char*) getenv("TMPDIR");
u_tmpdir = (tmpdir ? tmpdir : "/var/tmp");
if (pcfg)
{
U_INTERNAL_ASSERT_EQUALS(cfg, 0)

View File

@ -591,9 +591,9 @@ void UStringRep::set(uint32_t __length, uint32_t __capacity, const char* ptr)
#if defined(U_SUBSTR_INC_REF) || defined(DEBUG)
parent = 0;
# ifdef DEBUG
# ifdef DEBUG
child = 0;
# endif
# endif
#endif
_length = __length;
@ -619,14 +619,14 @@ UStringRep* UStringRep::create(uint32_t length, uint32_t need, const char* ptr)
#else
if (need > U_CAPACITY)
{
U_INTERNAL_DUMP("UFile::nr_hugepages = %u UFile::rlimit_memfree = %u", UFile::nr_hugepages, UFile::rlimit_memfree)
_ptr = UFile::mmap(&need, -1, PROT_READ | PROT_WRITE, MAP_PRIVATE | U_MAP_ANON, 0);
_ptr = (need >= U_2M &&
UFile::nr_hugepages
? UFile::mmap_anon_huge(&need, MAP_PRIVATE | U_MAP_ANON)
: UFile::mmap(&need, -1, PROT_READ | PROT_WRITE, MAP_PRIVATE | U_MAP_ANON, 0));
if (_ptr == MAP_FAILED) U_RETURN_POINTER(string_rep_null, UStringRep);
if (_ptr == MAP_FAILED)
{
string_rep_null->references++;
U_RETURN_POINTER(string_rep_null, UStringRep);
}
r = U_MALLOC_TYPE(UStringRep);
}
@ -798,13 +798,17 @@ void UStringRep::_release()
U_INTERNAL_DUMP("_capacity = %u str(%u) = %.*S", _capacity, _length, _length, str)
U_INTERNAL_ASSERT_EQUALS(references, 0)
#if defined(__GNUC__) && GCC_VERSION_NUM >= 50300
if (this == string_rep_null) return;
#else
U_INTERNAL_ASSERT_DIFFERS(this, string_rep_null)
#endif
#if defined(U_SUBSTR_INC_REF) || defined(DEBUG)
if (parent)
# ifdef U_SUBSTR_INC_REF
# ifdef U_SUBSTR_INC_REF
parent->release(); // NB: solo la morte della substring de-referenzia la source...
# else
# else
{
U_INTERNAL_ASSERT_EQUALS(child, 0)
@ -851,10 +855,10 @@ void UStringRep::_release()
}
}
}
# endif
# ifdef DEBUG
# endif
#ifdef DEBUG
U_UNREGISTER_OBJECT(0, this)
# endif
#endif
#endif
#ifndef ENABLE_MEMPOOL

View File

@ -79,7 +79,7 @@ void UTimer::callHandlerTimeout()
UTimer* item = first;
first = first->next; // remove it from its active list
U_INTERNAL_DUMP("u_now = %#19D (next alarm expire) = %#19D", u_now->tv_sec, item->next ? item->next->alarm->expire() : 0L)
U_INTERNAL_DUMP("UEventTime::timeout1 = %#19D (next alarm expire) = %#19D", UEventTime::timeout1.tv_sec, item->next ? item->next->alarm->expire() : 0L)
if (item->alarm->handlerTime() == 0) // 0 => monitoring
{
@ -103,9 +103,9 @@ void UTimer::run()
{
U_TRACE_NO_PARAM(1, "UTimer::run()")
(void) U_SYSCALL(gettimeofday, "%p,%p", u_now, 0);
(void) U_SYSCALL(gettimeofday, "%p,%p", &UEventTime::timeout1, 0);
U_INTERNAL_DUMP("u_now = { %ld %6ld } first = %p", u_now->tv_sec, u_now->tv_usec, first)
U_INTERNAL_DUMP("UEventTime::timeout1 = { %ld %6ld } first = %p", UEventTime::timeout1.tv_sec, UEventTime::timeout1.tv_usec, first)
UTimer* item = first;
bool bnosignal = (mode == NOSIGNAL);
@ -149,8 +149,8 @@ void UTimer::setTimer()
{
UEventTime* item = first->alarm;
UInterrupt::timerval.it_value.tv_sec = item->ctime.tv_sec + item->tv_sec - u_now->tv_sec;
UInterrupt::timerval.it_value.tv_usec = item->ctime.tv_usec + item->tv_usec - u_now->tv_usec;
UInterrupt::timerval.it_value.tv_sec = item->ctime.tv_sec + item->tv_sec - UEventTime::timeout1.tv_sec;
UInterrupt::timerval.it_value.tv_usec = item->ctime.tv_usec + item->tv_usec - UEventTime::timeout1.tv_usec;
UTimeVal::adjust(&(UInterrupt::timerval.it_value.tv_sec),
&(UInterrupt::timerval.it_value.tv_usec));

View File

@ -1484,7 +1484,7 @@ void UHTTP2::handlerResponse()
u_put_unalignedp64(dst, U_MULTICHAR_CONSTANT64('v','\004','U','L','i','b','a','\0'));
#if defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
#if defined(U_LINUX) && defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
U_INTERNAL_ASSERT_POINTER(u_pthread_time)
U_INTERNAL_ASSERT_EQUALS(UClientImage_Base::iov_vec[1].iov_base, ULog::ptr_shared_date->date3)
#else

View File

@ -56,9 +56,9 @@ void USemaphore::init(sem_t* ptr, int resource)
#elif defined(_MSWINDOWS_)
psem = (sem_t*) ::CreateSemaphore((LPSECURITY_ATTRIBUTES)NULL, (LONG)resource, 1000000, (LPCTSTR)NULL);
#else
psem = U_NEW(UFile);
psem = UFile::mkTemp();
if (psem->mkTempForLock() == false) U_ERROR("USemaphore::init(%p,%u) failed", ptr, resource);
if (psem == -1) U_ERROR("USemaphore::init(%p,%u) failed", ptr, resource);
#endif
#if !defined(__MACOSX__) && !defined(__APPLE__) && defined(HAVE_SEM_GETVALUE)
@ -96,9 +96,7 @@ USemaphore::~USemaphore()
#elif defined(_MSWINDOWS_)
(void) ::CloseHandle((HANDLE)psem);
#else
(void) (psem->close(), psem->_unlink());
delete psem;
UFile::close(psem);
#endif
}
@ -124,7 +122,7 @@ void USemaphore::post()
#elif defined(_MSWINDOWS_)
::ReleaseSemaphore((HANDLE)psem, 1, (LPLONG)NULL);
#else
(void) psem->unlock();
(void) UFile::unlock(psem);
#endif
U_INTERNAL_DUMP("value = %d", getValue())
@ -199,7 +197,7 @@ bool USemaphore::wait(time_t timeoutMS)
#elif defined(_MSWINDOWS_)
if (::WaitForSingleObject((HANDLE)psem, timeoutMS) == WAIT_OBJECT_0) U_RETURN(true);
#else
if (psem->lock()) U_RETURN(true);
if (UFile::lock(psem)) U_RETURN(true);
#endif
U_RETURN(false);
@ -242,7 +240,7 @@ wait:
#elif defined(_MSWINDOWS_)
(void) ::WaitForSingleObject((HANDLE)psem, INFINITE);
#else
(void) psem->lock();
(void) UFile::lock(psem);
#endif
U_INTERNAL_DUMP("value = %d", getValue())

View File

@ -197,7 +197,7 @@ error: U_INTERNAL_DUMP("errno = %d", errno)
if (UNotifier::bepollet == false)
#endif
{
#if defined(U_LOG_ENABLE) || defined(USE_LIBZ)
#if !defined(U_LINUX) || !defined(ENABLE_THREAD) || defined(U_LOG_ENABLE) || defined(USE_LIBZ)
if (sk->isBlocking() == false)
{
/**

View File

@ -1207,7 +1207,8 @@ __pure uint32_t UStringExt::getBaseNameLen(const UString& s)
U_RETURN(len);
}
/* Sort two version numbers, comparing equivalently seperated strings of digits numerically.
/**
* Sort two version numbers, comparing equivalently seperated strings of digits numerically.
*
* Returns a positive number if (a > b)
* Returns a negative number if (a < b)
@ -1246,8 +1247,11 @@ __pure int UStringExt::compareversion(const char* a, uint32_t alen, const char*
U_INTERNAL_ASSERT_DIFFERS(apos1,apos2)
/* isdigit(a[0]) != isdigit(b[0])
* arbitrarily sort the non-digit first */
/**
* isdigit(a[0]) != isdigit(b[0])
*
* arbitrarily sort the non-digit first
*/
if (bpos1 == bpos2) U_RETURN(isnum ? 1 : -1);

View File

@ -6018,22 +6018,26 @@ end:
if (u_is_html(mime_index))
{
# if defined(U_LOG_ENABLE) && defined(USE_LIBZ)
# if defined(U_LINUX) && defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
u_put_unalignedp64(ptr1, U_MULTICHAR_CONSTANT64('/','h','t','m','l','\r','\n','\0'));
sz += U_CONSTANT_SIZE("Content-Type: text/html\r\n");
# else
u_put_unalignedp64(ptr1, U_MULTICHAR_CONSTANT64('/','h','t','m','l',';',' ','c'));
u_put_unalignedp64(ptr1+8, U_MULTICHAR_CONSTANT64('h','a','r','s','e','t','=','U'));
u_put_unalignedp32(ptr1+16, U_MULTICHAR_CONSTANT32('T','F','-','8'));
u_put_unalignedp16(ptr1+20, U_MULTICHAR_CONSTANT16('\r','\n'));
sz += U_CONSTANT_SIZE("Content-Type: " U_CTYPE_HTML "\r\n");
# else
u_put_unalignedp64(ptr1, U_MULTICHAR_CONSTANT64('/','h','t','m','l','\r','\n','\0'));
sz += U_CONSTANT_SIZE("Content-Type: text/html\r\n");
# endif
}
else
{
# if defined(U_LOG_ENABLE) && defined(USE_LIBZ)
# if defined(U_LINUX) && defined(ENABLE_THREAD) && !defined(U_LOG_ENABLE) && !defined(USE_LIBZ)
u_put_unalignedp64(ptr1, U_MULTICHAR_CONSTANT64('/','p','l','a','i','n','\r','\n'));
sz += U_CONSTANT_SIZE("Content-Type: text/plain\r\n");
# else
u_put_unalignedp64(ptr1, U_MULTICHAR_CONSTANT64('/','p','l','a','i','n',';',' '));
u_put_unalignedp64(ptr1+8, U_MULTICHAR_CONSTANT64('c','h','a','r','s','e','t','='));
u_put_unalignedp32(ptr1+16, U_MULTICHAR_CONSTANT32('U','T','F','-'));
@ -6041,10 +6045,6 @@ end:
u_put_unalignedp16(ptr1+21, U_MULTICHAR_CONSTANT16('\r','\n'));
sz += U_CONSTANT_SIZE("Content-Type: " U_CTYPE_TEXT "\r\n");
# else
u_put_unalignedp64(ptr1, U_MULTICHAR_CONSTANT64('/','p','l','a','i','n','\r','\n'));
sz += U_CONSTANT_SIZE("Content-Type: text/plain\r\n");
# endif
}
}

View File

@ -16,17 +16,6 @@
#include <ulib/xml/soap/soap_parser.h>
#include <ulib/xml/soap/soap_encoder.h>
USOAPParser::~USOAPParser()
{
U_TRACE_UNREGISTER_OBJECT(0, USOAPParser)
clearData();
#ifdef U_SOAP_NAMESPACE
XMLNStoURN.deallocate();
#endif
}
bool USOAPParser::parse(const UString& msg)
{
U_TRACE(0+256, "USOAPParser::parse(%V)", msg.rep)

View File

@ -17,7 +17,6 @@ UTRACE_SIGNAL="0 30M 0"
#VALGRIND=valgrind
TZ='CET-1CEST,M3.5.0/2,M10.5.0/3'
MUDFLAP_OPTIONS="-ignore-reads -backtrace=8"
UMEMPOOL=0,0,0,0,0,0,0,0,0:20971520,2097152
# core dump
# ulimit -c unlimited
@ -67,7 +66,7 @@ else
fi
export UTRACE UTRACE_SIGNAL UOBJDUMP USIMERR EXEC_ON_EXIT WINELOADER PID TZ \
RESULT MALLOC_CHECK_ VALGRIND MUDFLAP_OPTIONS ECHO UMEMPOOL \
RESULT MALLOC_CHECK_ VALGRIND MUDFLAP_OPTIONS ECHO \
NC NC_ARG_LISTEN_PORT NCAT SYNC CURL OPENSSL SLEEP SUFFIX CHOWN TRUSS LTRUSS STRACE WINE_OPENSSL
# function : CApath_rehash

View File

@ -14,7 +14,7 @@ rm -f benchmark/FrameworkBenchmarks/benchmark.log* \
#UOBJDUMP="0 10M 100"
#USIMERR="error.sim"
#VALGRIND="valgrind -v --trace-children=yes"
UMEMUSAGE=yes
#UMEMUSAGE=yes
export UTRACE UOBJDUMP USIMERR VALGRIND UMEMUSAGE
unset ORM_DRIVER ORM_OPTION
@ -22,12 +22,9 @@ export ORM_DRIVER ORM_OPTION UMEMPOOL
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
# PLAINTEXT
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
#UMEMPOOL="52,0,0,39,8205,8205,-11,-20,22"
#UMEMPOOL="982,0,0,36,9846,-24,-23,1727,1151"
#sed -i "s|TCP_LINGER_SET .*|TCP_LINGER_SET 0|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|LISTEN_BACKLOG .*|LISTEN_BACKLOG 16384|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|CLIENT_THRESHOLD .*|CLIENT_THRESHOLD 4000|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 8000|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#UMEMPOOL="58,0,0,39,16401,-14,-15,11,25"
#sed -i "s|TCP_LINGER_SET .*|TCP_LINGER_SET 0|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|LISTEN_BACKLOG .*|LISTEN_BACKLOG 16384|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
#Running 15s test @ http://localhost:8080/plaintext
# 4 threads and 256 connections
@ -59,11 +56,9 @@ export ORM_DRIVER ORM_OPTION UMEMPOOL
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
# JSON
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
UMEMPOOL="56,0,0,40,150,-24,-13,-20,0"
sed -i "s|TCP_LINGER_SET .*|TCP_LINGER_SET 0|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
sed -i "s|LISTEN_BACKLOG .*|LISTEN_BACKLOG 256|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
sed -i "s|CLIENT_THRESHOLD .*|CLIENT_THRESHOLD 50|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#UMEMPOOL="58,0,0,40,273,-15,-14,-20,36"
#sed -i "s|TCP_LINGER_SET .*|TCP_LINGER_SET 0|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|LISTEN_BACKLOG .*|LISTEN_BACKLOG 256|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
#Running 15s test @ http://localhost:8080/json
# 4 threads and 256 connections
@ -101,11 +96,9 @@ export ORM_DRIVER ORM_OPTION UMEMPOOL
#ORM_OPTION="host=localhost user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=hello_world"
#ORM_DRIVER="pgsql"
#ORM_OPTION="host=localhost user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world"
#UMEMPOOL="146,0,0,90,150,-22,-12,-20,0"
#UMEMPOOL="545,0,0,41,275,-14,-13,-25,41"
#sed -i "s|TCP_LINGER_SET .*|TCP_LINGER_SET -2|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|LISTEN_BACKLOG .*|LISTEN_BACKLOG 256|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|CLIENT_THRESHOLD .*|CLIENT_THRESHOLD 80|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
# Running 15s test @ http://laptop:8080/fortune
# 4 threads and 256 connections
@ -150,11 +143,9 @@ export ORM_DRIVER ORM_OPTION UMEMPOOL
# Transfer/sec: 5.96MB
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
#export REDIS_HOST=localhost
#UMEMPOOL="146,0,0,90,150,-22,-12,-20,0"
#UMEMPOOL="1057,0,0,39,274,-14,-15,-24,40"
#sed -i "s|TCP_LINGER_SET .*|TCP_LINGER_SET -2|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|LISTEN_BACKLOG .*|LISTEN_BACKLOG 256|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|CLIENT_THRESHOLD .*|CLIENT_THRESHOLD 80|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
#sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" benchmark/FrameworkBenchmarks/fbenchmark.cfg
# ----------------------------------------------------------------------------------------------------------------------------------------------------------
DIR_CMD="../../examples/userver"

View File

@ -11,7 +11,7 @@ sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/ben
sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" $IROOT/ULib/benchmark.cfg
# 2. Start ULib Server (userver_tcp)
export UMEMPOOL="56,0,0,40,150,-24,-13,-20,0"
export UMEMPOOL="58,0,0,40,273,-15,-14,-20,36"
# Never use setcap inside of TRAVIS
[ "$TRAVIS" != "true" ] || { \

View File

@ -12,7 +12,7 @@ sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" $IROOT
# 2. Start ULib Server (userver_tcp)
export ORM_DRIVER="mysql"
export UMEMPOOL="146,0,0,90,150,-22,-12,-20,0"
export UMEMPOOL="545,0,0,41,275,-14,-13,-25,41"
export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=hello_world"
# Never use setcap inside of TRAVIS

View File

@ -11,7 +11,7 @@ sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/benc
sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 8000|g" $IROOT/ULib/benchmark.cfg
# 2. Start ULib Server (userver_tcp)
export UMEMPOOL="982,0,0,36,9846,-24,-23,1727,1151"
export UMEMPOOL="58,0,0,39,16401,-14,-15,11,25"
# Never use setcap inside of TRAVIS
[ "$TRAVIS" != "true" ] || { \

View File

@ -12,7 +12,7 @@ sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" $IROOT
# 2. Start ULib Server (userver_tcp)
export ORM_DRIVER="pgsql"
export UMEMPOOL="146,0,0,90,150,-22,-12,-20,0"
export UMEMPOOL="545,0,0,41,275,-14,-13,-25,41"
export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass dbname=hello_world client_encoding=UTF8"
# Never use setcap inside of TRAVIS

View File

@ -11,8 +11,8 @@ sed -i "s|PREFORK_CHILD .*|PREFORK_CHILD ${MAX_THREADS}|g" $IROOT/ULib/ben
sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" $IROOT/ULib/benchmark.cfg
# 2. Start ULib Server (userver_tcp)
export UMEMPOOL="146,0,0,90,150,-22,-12,-20,0"
export REDIS_HOST=$DBHOST
export UMEMPOOL="1057,0,0,39,274,-14,-15,-24,40"
# Never use setcap inside of TRAVIS
[ "$TRAVIS" != "true" ] || { \

View File

@ -12,7 +12,7 @@ sed -i "s|CLIENT_FOR_PARALLELIZATION .*|CLIENT_FOR_PARALLELIZATION 100|g" $IROOT
# 2. Start ULib Server (userver_tcp)
export ORM_DRIVER="sqlite"
export UMEMPOOL="146,0,0,90,150,-22,-12,-20,0"
export UMEMPOOL="545,0,0,41,275,-14,-13,-25,41"
export ORM_OPTION="host=${DBHOST} user=benchmarkdbuser password=benchmarkdbpass character-set=utf8 dbname=${IROOT}/ULib/db/%.*s"
# Never use setcap inside of TRAVIS

View File

@ -2,7 +2,7 @@ userver {
PORT 8080
PREFORK_CHILD 4
TCP_LINGER_SET 0
TCP_LINGER_SET -2
LISTEN_BACKLOG 256
DOCUMENT_ROOT benchmark/FrameworkBenchmarks/ULib/www
PID_FILE benchmark/FrameworkBenchmarks/ULib/userver_tcp.pid

View File

@ -15,7 +15,7 @@ start_msg web_server
DOC_ROOT=docroot
rm -f db/session.ssl* /tmp/ssl_session.txt /tmp/byterange* /tmp/*.memusage.* \
rm -f db/session.ssl* /tmp/ssl_session.txt /tmp/byterange* /tmp/soap.res /tmp/*.memusage.* \
$DOC_ROOT/webserver*.log* $DOC_ROOT/uploads/* /var/log/httpd/access_log \
out/userver_tcp.out err/userver_tcp.err web_server.err \
trace.*userver_*.[0-9]* object.*userver_*.[0-9]* stack.*userver_*.[0-9]* mempool.*userver_*.[0-9]* \

View File

@ -6,7 +6,7 @@
start_msg file
#UTRACE="0 1M 1"
#UTRACE="0 1M -1"
#UOBJDUMP="-1 100k 10"
#USIMERR="error.sim"
export UTRACE UOBJDUMP USIMERR

View File

@ -8,14 +8,14 @@ plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stddef.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stddef.h \
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdarg.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdint.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/getopt.h \
@ -43,108 +43,108 @@ plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \
/usr/include/bits/string3.h /usr/include/fcntl.h \
/usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
/usr/include/bits/fcntl2.h /usr/include/sys/time.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/syslimits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
../../include/ulib/base/color.h ../../include/ulib/base/macro.h \
/usr/include/zlib.h /usr/include/zconf.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/memoryfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwchar \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/memoryfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwchar \
/usr/include/bits/wchar2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/atomic_lockfree_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_ptr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/nested_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/numeric_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/move.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/type_traits \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ptr_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/predefined_ops.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/clocale \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/atomic_lockfree_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_ptr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/nested_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/numeric_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/move.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/type_traits \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ptr_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/predefined_ops.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/clocale \
/usr/include/locale.h /usr/include/bits/locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream_insert.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cxxabi_forced.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/binders.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/range_access.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/initializer_list \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/string_conversions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdlib \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdio \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cerrno \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream_insert.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cxxabi_forced.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/binders.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/range_access.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/initializer_list \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/string_conversions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdlib \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdio \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cerrno \
/usr/include/errno.h /usr/include/bits/errno.h \
/usr/include/linux/errno.h /usr/include/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functional_hash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/hash_bytes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/system_error \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/stdexcept \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functional_hash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/hash_bytes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/system_error \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/stdexcept \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwctype \
/usr/include/wctype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/istream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/istream.tcc \
../../include/ulib/replace/strstream.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/strstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/backward_warning.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/strstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/backward_warning.h \
../../include/ulib/debug/macro.h ../../include/ulib/debug/trace.h \
../../include/ulib/base/trace.h ../../include/ulib/base/utility.h \
/usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/fnmatch.h \
../../include/ulib/debug/error_simulation.h /usr/include/tdb.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdbool.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdbool.h \
../../include/ulib/debug/common.h ../../include/ulib/debug/error.h \
../../include/ulib/debug/error_memory.h \
../../include/ulib/debug/objectDB.h \
@ -187,7 +187,7 @@ plugin/product.h:
/usr/include/bits/typesizes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stddef.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stddef.h:
/usr/include/bits/mman.h:
@ -201,7 +201,7 @@ plugin/product.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdarg.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
@ -211,7 +211,7 @@ plugin/product.h:
/usr/include/bits/stdio2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdint.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdint.h:
/usr/include/stdint.h:
@ -327,9 +327,9 @@ plugin/product.h:
/usr/include/sys/time.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/syslimits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/syslimits.h:
/usr/include/limits.h:
@ -351,133 +351,133 @@ plugin/product.h:
/usr/include/zconf.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/memoryfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/memoryfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwchar:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwchar:
/usr/include/bits/wchar2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/atomic_lockfree_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/atomic_lockfree_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_ptr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_ptr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/nested_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/nested_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/numeric_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/numeric_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/move.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/move.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/type_traits:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/type_traits:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ptr_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ptr_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/predefined_ops.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/predefined_ops.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdint:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdint:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/clocale:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/clocale:
/usr/include/locale.h:
/usr/include/bits/locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream_insert.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream_insert.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cxxabi_forced.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cxxabi_forced.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/binders.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/binders.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/range_access.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/range_access.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/initializer_list:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/initializer_list:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/string_conversions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/string_conversions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdlib:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdlib:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdio:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdio:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cerrno:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cerrno:
/usr/include/errno.h:
@ -491,53 +491,53 @@ plugin/product.h:
/usr/include/asm-generic/errno-base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functional_hash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functional_hash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/hash_bytes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/hash_bytes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/system_error:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/system_error:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/stdexcept:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/stdexcept:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwctype:
/usr/include/wctype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/istream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/istream.tcc:
../../include/ulib/replace/strstream.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/strstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/strstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/backward_warning.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/backward_warning.h:
../../include/ulib/debug/macro.h:
@ -557,7 +557,7 @@ plugin/product.h:
/usr/include/tdb.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdbool.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdbool.h:
../../include/ulib/debug/common.h:

View File

@ -8,14 +8,14 @@ plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stddef.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stddef.h \
/usr/include/bits/mman.h /usr/include/bits/mman-linux.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/wchar.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdarg.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/include/bits/stdio.h /usr/include/bits/stdio2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdint.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h /usr/include/unistd.h \
/usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
/usr/include/bits/confname.h /usr/include/getopt.h \
@ -43,108 +43,108 @@ plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \
/usr/include/bits/string3.h /usr/include/fcntl.h \
/usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \
/usr/include/bits/fcntl2.h /usr/include/sys/time.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/syslimits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
../../include/ulib/base/color.h ../../include/ulib/base/macro.h \
/usr/include/zlib.h /usr/include/zconf.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/memoryfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwchar \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/memoryfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwchar \
/usr/include/bits/wchar2.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/atomic_lockfree_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_ptr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/nested_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/numeric_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/move.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/type_traits \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ptr_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/predefined_ops.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/clocale \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/atomic_lockfree_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_ptr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/nested_exception.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/numeric_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/move.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/type_traits \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ptr_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/predefined_ops.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdint \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/clocale \
/usr/include/locale.h /usr/include/bits/locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream_insert.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cxxabi_forced.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/binders.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/range_access.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/initializer_list \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/string_conversions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdlib \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdio \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cerrno \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream_insert.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cxxabi_forced.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/binders.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/range_access.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/initializer_list \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/alloc_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/string_conversions.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdlib \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdio \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cerrno \
/usr/include/errno.h /usr/include/bits/errno.h \
/usr/include/linux/errno.h /usr/include/asm/errno.h \
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functional_hash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/hash_bytes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/system_error \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/stdexcept \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwctype \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functional_hash.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/hash_bytes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/system_error \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/stdexcept \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwctype \
/usr/include/wctype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/istream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/istream.tcc \
../../include/ulib/replace/strstream.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/strstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/backward_warning.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/strstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/backward_warning.h \
../../include/ulib/debug/macro.h ../../include/ulib/debug/trace.h \
../../include/ulib/base/trace.h ../../include/ulib/base/utility.h \
/usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/fnmatch.h \
../../include/ulib/debug/error_simulation.h /usr/include/tdb.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdbool.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdbool.h \
../../include/ulib/debug/common.h ../../include/ulib/debug/error.h \
../../include/ulib/debug/error_memory.h \
../../include/ulib/debug/objectDB.h \
@ -187,7 +187,7 @@ plugin/product.h:
/usr/include/bits/typesizes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stddef.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stddef.h:
/usr/include/bits/mman.h:
@ -201,7 +201,7 @@ plugin/product.h:
/usr/include/wchar.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdarg.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdarg.h:
/usr/include/bits/stdio_lim.h:
@ -211,7 +211,7 @@ plugin/product.h:
/usr/include/bits/stdio2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdint.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdint.h:
/usr/include/stdint.h:
@ -327,9 +327,9 @@ plugin/product.h:
/usr/include/sys/time.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include-fixed/syslimits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include-fixed/syslimits.h:
/usr/include/limits.h:
@ -351,133 +351,133 @@ plugin/product.h:
/usr/include/zconf.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/memoryfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/memoryfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwchar:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwchar:
/usr/include/bits/wchar2.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/atomic_lockfree_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/atomic_lockfree_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_ptr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_ptr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/nested_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/nested_exception.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/numeric_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/numeric_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/move.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/move.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/type_traits:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/type_traits:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ptr_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ptr_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/predefined_ops.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/predefined_ops.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdint:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdint:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/clocale:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/clocale:
/usr/include/locale.h:
/usr/include/bits/locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream_insert.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream_insert.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/cxxabi_forced.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cxxabi_forced.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/binders.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/binders.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/range_access.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/range_access.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/initializer_list:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/initializer_list:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/alloc_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/ext/string_conversions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/ext/string_conversions.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdlib:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdlib:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cstdio:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cstdio:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cerrno:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cerrno:
/usr/include/errno.h:
@ -491,53 +491,53 @@ plugin/product.h:
/usr/include/asm-generic/errno-base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/functional_hash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/functional_hash.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/hash_bytes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/hash_bytes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_string.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_string.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_classes.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_classes.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/system_error:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/system_error:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/error_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/stdexcept:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/stdexcept:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/cwctype:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/cwctype:
/usr/include/wctype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/bits/istream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/istream.tcc:
../../include/ulib/replace/strstream.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/strstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/strstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5/backward/backward_warning.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/backward/backward_warning.h:
../../include/ulib/debug/macro.h:
@ -557,7 +557,7 @@ plugin/product.h:
/usr/include/tdb.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/stdbool.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/stdbool.h:
../../include/ulib/debug/common.h:

View File

@ -12,8 +12,6 @@ start_msg server
#USIMERR="error.sim"
export UTRACE UOBJDUMP USIMERR UTRACE_SIGNAL
UMEMPOOL=0,0,0,0,0,0,0,0,0:20971520,2097152
if [ "$TERM" != "cygwin" ]; then
DIR=../../src/ulib/net/server/plugin/.libs
test -d $DIR &&

View File

@ -6,12 +6,13 @@
start_msg string
#UTRACE="0 50M -1"
#UTRACE="0 50M 0"
#UOBJDUMP="0 100k 10"
#USIMERR="error.sim"
export UTRACE UOBJDUMP USIMERR
UMEMPOOL=0,0,0,0,0,0,0,0,0:20971520,2097152
export UTRACE UOBJDUMP USIMERR UMEMPOOL
#cat /proc/meminfo | grep Huge
start_prg string 10

View File

@ -85,8 +85,8 @@ U_EXPORT main (int argc, char* argv[])
x.setPath(tmp);
U_ASSERT( x.getPath() == tmp )
U_ASSERT( x.mkTempForLock() )
U_ASSERT( x.mkTemp() && (x.close(), x._unlink()) )
UFile::close( UFile::mkTemp() );
#ifndef __MINGW32__
buffer.assign(argv[1]);

View File

@ -169,6 +169,7 @@ int U_EXPORT main (int argc, char* argv[])
check1(y);
check2(y);
y.destroy();
y.table.assign(x);
x.clear();

View File

@ -1838,7 +1838,8 @@ U_EXPORT main (int argc, char* argv[])
U_ASSERT_DIFFERS( z.size(), u_cwd_len )
U_ASSERT( z == U_STRING_FROM_CONSTANT("/mnt/storage/stefano/ulib/nodebug/64/gentoo/ULib-1.0.5/tests/examples/www.sito1.com/cgi-bin/redirect.sh") )
/* Sort two version numbers, comparing equivalently seperated strings of digits numerically
/**
* Sort two version numbers, comparing equivalently seperated strings of digits numerically
*
* Returns a positive number if (a > b)
* Returns a negative number if (a < b)