- 24 6月, 2015 1 次提交
-
-
由 Enrico Giordani 提交于
[log] Improved error message if MapViewOfFileEx() fails. [fix] Child process call exist(1) if MapViewOfFileEx() fails. [new] GetForkOperationStatus() now detects if the child process is not anymore running. [fix] Error reporting in UnhandledExceptiontHandler() for "UNKNOWN EXCEPTION". [new] UnhandledExceptiontHandler() now calls the default C++ unhandled exceptiont handler. [log] Changed the closing statement of the BUG REPORT. [comment] Removed commented out code in Win32_dlmalloc.c.
-
- 23 6月, 2015 3 次提交
-
-
由 Enrico Giordani 提交于
Master and Slave labels were using for the Parent and Child processes.
-
由 Enrico Giordani 提交于
-
由 Enrico Giordani 提交于
for unhandled exception handling. Added log warning if the maxmemory flag is not set.
-
- 22 6月, 2015 1 次提交
-
-
由 Enrico Giordani 提交于
-
- 20 6月, 2015 1 次提交
-
-
由 Alexis Campailla 提交于
RejoinCOWPages is copying dirty pages to a new view of the memory map. If another thread modifies the heap between when RejoincCOWPages copies the data and when the view is remapped, the modification will be lost, leading to a memory corruption. In short, when RejoincCOWPages is running, all other threads must be stopped. Fixes: https://github.com/MSOpenTech/redis/issues/244
-
- 19 6月, 2015 1 次提交
-
-
由 Enrico Giordani 提交于
-
- 11 6月, 2015 1 次提交
-
-
由 Enrico Giordani 提交于
Deleted unused file msvs/RedisLog.h
-
- 03 6月, 2015 1 次提交
-
-
由 Enrico Giordani 提交于
Eliminated 'long' from antirez code, in favor of PORT_LONG, PORT_LONGLONG, etc. Portability fixes for LONG_MAX, LONG_MIN. Replaces some #ifdef _WIN32
-
- 01 6月, 2015 1 次提交
-
-
由 Alexis Campailla 提交于
Fixed boundary check heapEnd Improved logging
-
- 29 5月, 2015 1 次提交
-
-
由 Alexis Campailla 提交于
Fix definition of ssize_t and off_t.
-
- 01 5月, 2015 4 次提交
-
-
由 Alexis Campailla 提交于
-
由 Alexis Campailla 提交于
Correclty check for Windows 8 version (6.2), in case this code path gets re-enabled again. Note that Windows 10 has version number 10.0, so it would finally take the code path originally intended for Windows 8 and higher.
-
由 Alexis Campailla 提交于
VirtualProtect is failing with ERROR_INVALID_PARAMETER. It's possible that this code path never worked because it is checking for Windows version 8.0. Windows 8's version number is 6.2, not 8.0. Conflicts: src/Win32_Interop/Win32_QFork.cpp
-
由 Alexis Campailla 提交于
Fix for https://github.com/MSOpenTech/redis/issues/167 RejoinCOWPages used to call QueryWorkingSetEx to figure out which pages had been dirtied since the memory map was protected with PAGE_WRITECOPY. But dirty pages that had been swapped out to the system page file would be reported as not valid (VirtualAttributes.Valid == 0) and so we wouldn't restore them into the file map. QueryWorkingSetEx only gives information about pages that are in the working set at the time it is called. Pages can be forced into the working set using VirtualLock, but that seems like a potentially risky / expensive solution. I implemented a solution that uses VirtualQuery to find out which regions have changed protection from PAGE_WRITECOPY.
-
- 24 3月, 2015 1 次提交
-
-
由 Alexis Campailla 提交于
The quasi-fork child was waiting for an explicit signal from the parent before terminating. This synchronization step is unnecessary, and it makes the child hang if the parent terminates for any reason while the fork operation is in progress. In that scenario, and consistently with the Posix version, the child now completes the fork operation and terminates freely when done. This fixes https://github.com/MSOpenTech/redis/issues/228
-
- 06 2月, 2015 3 次提交
-
-
由 Alexis Campailla 提交于
During diskless replication the master forks a child, which on posix simply inherits the socket file descriptors for the connections to the slaves. A unix pipe is also used for the child to report the results back to the master. The bulk of the porting work is in making sure that the socket file descriptors and pipe file descriptor are propagated correctly from the master to its child.
-
由 Alexis Campailla 提交于
There is no apparent reason for the child to wait for the startOperation event to be signaled.
-
由 Alexis Campailla 提交于
Refactor BeginForkOperation in preparation for diskless replication: - Separate copying of operation data and child process creation - Provide specific entry points for each operation type
-
- 02 2月, 2015 1 次提交
-
-
由 Alexis Campailla 提交于
-
- 05 12月, 2014 1 次提交
-
-
由 Alexis Campailla 提交于
Addressing https://github.com/MSOpenTech/redis/issues/188 - Made gettimeofday use GetSystemTimePreciseAsFileTime when available - Introduced definitions for gettimeofday_fast and gettimeofday_precise, so that calls can be specialized based on specific usage requirements - Introduced GetHighResRelativeTime, for high-resolution relative time measurements on all Windows versions.
-
- 04 12月, 2014 1 次提交
-
-
由 Alexis Campailla 提交于
Slave processes were not using the master process log file. On Unix this is relying on the server.logfile variable being available to the slave processes through fork(), and reopening the logfile in the slaves (on every log event). On Windows we don't use server.logfile and require an explicity call to setLogFile. I resorted to explicitly passing the logfile to the slaves as a command line argument, so the logfile argument (and logging) can be available to the slave before qfork and globals setup have completed. Writing to the same file atomically from multiple processes requires using CreateFile with FILE_APPEND_DATA, instead of fopen, which provides atomicity on Unix but not on Windows. Also changed the implementation to not reopen the logfile on every log event, and not flushing the file on every write. Performance is dramaticaly improved this way.
-
- 06 11月, 2014 1 次提交
-
-
由 unknown 提交于
-
- 07 9月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
-
- 13 8月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
-
- 01 8月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
code review feedback on 432a38e53d7844a7bcf8131ddaa4c86d: moved heap memory mapped file into Redis sub directory under local app data folder
-
- 30 7月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
-
- 29 7月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
Service install with a full path to the conf file was failing. Part of this was due to not passing quotes along with arguments with spaces. The other part was not adding access allowed ACEs on all accessed paths.
-
- 17 7月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
Creation of QFork memory mapped file now respects the 'dir' .conf file directive. This allows for the QFork file to live in separate directory from the main executable.
-
- 08 7月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
-
- 04 7月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
issue 143: Added more detailed error messages for ERROR_COMMITMENT_LIMIT and ERROR_DISK_FULL errors in QFork code.
-
- 12 6月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
issue 123: changed error output in Win32_service and Win32_QFork to use redisLog. Also fixed a few compiler warnings.
-
- 30 5月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
issue 105: 32-bit version not running on server 2003. Adjusted project settings and selected APIs in use via runtime version checks and windows version macro.
-
- 28 5月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
issue #93: cleaning up memory mapped files left over in cases where FILE_FLAG_DELETE_ON_CLOSE will not clean up file
-
- 16 5月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
Issue 108: Added 32-bit support back in. QFork code requires a contiguous memory allocation for heap. Due to this requirement and 32-bit memory model limitations, maxheap is limited to about 512MB in 32-bit executable. 32-bit version appears to be about 30% slower than 64-bit version on 64-bit OS.
-
- 09 5月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
issue 99: adding sample to demonstrate config of master + 3 slaves + 3 sentinels on one box. Discovered along the way that maxheap would not propagate through .conf include statements. It does now.
-
- 16 4月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
fox for issue #90. info.rdb_changes_since_last_save not being properly updated. Also dealt with the exit code from a failed fork not making it back to the parent.
-
- 08 4月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
sprintf argument change to fix a compiler warning caused forked process to fail to map control structure unexpectedly. Fixing in a different manner.
-
- 04 4月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
-
- 11 3月, 2014 1 次提交
-
-
由 jonathan pickett 提交于
using memtoull instead of _atoi64 while parsing maxmemory and maxheap flags. 'redis-server --maxmem 500m --maxheap 2g' works
-