- 24 6月, 2015 6 次提交
-
-
由 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.
-
由 Enrico Giordani 提交于
-
由 Enrico Giordani 提交于
Minor changes.
-
由 Enrico Giordani 提交于
-
由 Enrico Giordani 提交于
It was causing an appveyor build failure.
-
由 Enrico Giordani 提交于
The fix prevents redis-server from crashing if the 'save' flag is set and 'persistence-available' is set to 'no'.
-
- 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 2 次提交
-
-
由 Enrico Giordani 提交于
Deleted unused file msvs/RedisLog.h
-
由 Enrico Giordani 提交于
-
- 09 6月, 2015 2 次提交
-
-
由 Enrico Giordani 提交于
along with -h, --help, -v, --version
-
由 Enrico Giordani 提交于
The Win32 port was not truncating the AOF file.
-
- 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 2 次提交
-
-
由 Alexis Campailla 提交于
Add WIN_PORT_FIX macro Fixed debug oom command
-
由 Alexis Campailla 提交于
Fixed boundary check heapEnd Improved logging
-
- 29 5月, 2015 2 次提交
-
-
由 Alexis Campailla 提交于
-
由 Alexis Campailla 提交于
Fix definition of ssize_t and off_t.
-
- 04 5月, 2015 3 次提交
-
-
由 Alexis Campailla 提交于
-
由 NickMRamirez 提交于
Added redis.service.conf that turns on logging to the Windows event viewer. This required that we also log to a file with the logfile setting, otherwise messages are not written to the event viewer...probably a mishandling of Windows OS. The event viewer requires a messages resource in the form of a DLL, so I updated the Win32_Interop project to have a custom build step to compile EventLog.res into EventLog.dll. Updated the WiX project to create the Windows event source and also the directory where the event log file will be written.
-
由 NickMRamirez 提交于
-
- 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
-
- 09 3月, 2015 1 次提交
-
-
由 Alexis Campailla 提交于
Also introducing some utility functions for translating Windows error codes to errno error codes. This part was adapted from existing code in libuv: https://github.com/libuv/libuv/blob/v1.x/src/win/error.c
-
- 25 2月, 2015 2 次提交
-
-
由 Alexis Campailla 提交于
getpeername() is returning invalid addresses on ipv6 sockets accepted with AcceptEx, filling only 16 bytes of the address structure. Providing a workaround by saving the remote address returned by GetAcceptExSockaddrs, which is valid.
-
由 Alexis Campailla 提交于
-
- 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 提交于
-
- 21 12月, 2014 1 次提交
-
-
由 Alexis Campailla 提交于
Commit 08e4226e broke redis-benchmark. Made time function initialization automatic on first execution. Added explicit initialization of time functions in redis-benchmark, to avoid additional cost on first benchmark execution.
-
- 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.
-
- 14 11月, 2014 1 次提交
-
-
由 unknown 提交于
-