mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-12 18:11:35 -06:00
Normalize all the line endings
This commit is contained in:
@@ -1,60 +1,60 @@
|
||||
// StreamBinder.h
|
||||
|
||||
#ifndef __STREAM_BINDER_H
|
||||
#define __STREAM_BINDER_H
|
||||
|
||||
#include "../../Windows/Synchronization.h"
|
||||
|
||||
#include "../IStream.h"
|
||||
|
||||
/*
|
||||
We don't use probably UNSAFE version:
|
||||
reader thread:
|
||||
_canWrite_Event.Set();
|
||||
_readingWasClosed = true
|
||||
_canWrite_Event.Set();
|
||||
writer thread:
|
||||
_canWrite_Event.Wait()
|
||||
if (_readingWasClosed)
|
||||
Can second call of _canWrite_Event.Set() be executed without memory barrier, if event is already set?
|
||||
*/
|
||||
|
||||
class CStreamBinder
|
||||
{
|
||||
NWindows::NSynchronization::CAutoResetEvent _canWrite_Event;
|
||||
NWindows::NSynchronization::CManualResetEvent _canRead_Event;
|
||||
NWindows::NSynchronization::CManualResetEvent _readingWasClosed_Event;
|
||||
|
||||
// bool _readingWasClosed;
|
||||
bool _readingWasClosed2;
|
||||
// bool WritingWasCut;
|
||||
bool _waitWrite;
|
||||
UInt32 _bufSize;
|
||||
const void *_buf;
|
||||
public:
|
||||
UInt64 ProcessedSize;
|
||||
|
||||
WRes CreateEvents();
|
||||
void CreateStreams(ISequentialInStream **inStream, ISequentialOutStream **outStream);
|
||||
|
||||
void ReInit();
|
||||
|
||||
HRESULT Read(void *data, UInt32 size, UInt32 *processedSize);
|
||||
HRESULT Write(const void *data, UInt32 size, UInt32 *processedSize);
|
||||
|
||||
void CloseRead()
|
||||
{
|
||||
_readingWasClosed_Event.Set();
|
||||
// _readingWasClosed = true;
|
||||
// _canWrite_Event.Set();
|
||||
}
|
||||
|
||||
void CloseWrite()
|
||||
{
|
||||
_buf = NULL;
|
||||
_bufSize = 0;
|
||||
_canRead_Event.Set();
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
// StreamBinder.h
|
||||
|
||||
#ifndef __STREAM_BINDER_H
|
||||
#define __STREAM_BINDER_H
|
||||
|
||||
#include "../../Windows/Synchronization.h"
|
||||
|
||||
#include "../IStream.h"
|
||||
|
||||
/*
|
||||
We don't use probably UNSAFE version:
|
||||
reader thread:
|
||||
_canWrite_Event.Set();
|
||||
_readingWasClosed = true
|
||||
_canWrite_Event.Set();
|
||||
writer thread:
|
||||
_canWrite_Event.Wait()
|
||||
if (_readingWasClosed)
|
||||
Can second call of _canWrite_Event.Set() be executed without memory barrier, if event is already set?
|
||||
*/
|
||||
|
||||
class CStreamBinder
|
||||
{
|
||||
NWindows::NSynchronization::CAutoResetEvent _canWrite_Event;
|
||||
NWindows::NSynchronization::CManualResetEvent _canRead_Event;
|
||||
NWindows::NSynchronization::CManualResetEvent _readingWasClosed_Event;
|
||||
|
||||
// bool _readingWasClosed;
|
||||
bool _readingWasClosed2;
|
||||
// bool WritingWasCut;
|
||||
bool _waitWrite;
|
||||
UInt32 _bufSize;
|
||||
const void *_buf;
|
||||
public:
|
||||
UInt64 ProcessedSize;
|
||||
|
||||
WRes CreateEvents();
|
||||
void CreateStreams(ISequentialInStream **inStream, ISequentialOutStream **outStream);
|
||||
|
||||
void ReInit();
|
||||
|
||||
HRESULT Read(void *data, UInt32 size, UInt32 *processedSize);
|
||||
HRESULT Write(const void *data, UInt32 size, UInt32 *processedSize);
|
||||
|
||||
void CloseRead()
|
||||
{
|
||||
_readingWasClosed_Event.Set();
|
||||
// _readingWasClosed = true;
|
||||
// _canWrite_Event.Set();
|
||||
}
|
||||
|
||||
void CloseWrite()
|
||||
{
|
||||
_buf = NULL;
|
||||
_bufSize = 0;
|
||||
_canRead_Event.Set();
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user