Added active? function, fixed CRLF line endings
This commit is contained in:
parent
78c4c3b9bf
commit
6312ce865c
|
|
@ -11,6 +11,7 @@ static SDL_Thread *thread = NULL;
|
||||||
static SDL_mutex *mutex = NULL;
|
static SDL_mutex *mutex = NULL;
|
||||||
static volatile char message_buffer[OUT_BUFFER_SIZE];
|
static volatile char message_buffer[OUT_BUFFER_SIZE];
|
||||||
static volatile int message_len = 0;
|
static volatile int message_len = 0;
|
||||||
|
static volatile bool active = false;
|
||||||
|
|
||||||
int server_thread(void *data)
|
int server_thread(void *data)
|
||||||
{
|
{
|
||||||
|
|
@ -27,6 +28,7 @@ int server_thread(void *data)
|
||||||
ConnectNamedPipe(pipe, NULL);
|
ConnectNamedPipe(pipe, NULL);
|
||||||
SDL_LockMutex(mutex);
|
SDL_LockMutex(mutex);
|
||||||
WriteFile(pipe, (const void*)message_buffer, OUT_BUFFER_SIZE, NULL, NULL);
|
WriteFile(pipe, (const void*)message_buffer, OUT_BUFFER_SIZE, NULL, NULL);
|
||||||
|
active = true;
|
||||||
SDL_UnlockMutex(mutex);
|
SDL_UnlockMutex(mutex);
|
||||||
FlushFileBuffers(pipe);
|
FlushFileBuffers(pipe);
|
||||||
DisconnectNamedPipe(pipe);
|
DisconnectNamedPipe(pipe);
|
||||||
|
|
@ -59,6 +61,7 @@ RB_METHOD(journalSet)
|
||||||
message_len = len;
|
message_len = len;
|
||||||
SDL_UnlockMutex(mutex);
|
SDL_UnlockMutex(mutex);
|
||||||
if (pipe != INVALID_HANDLE_VALUE) {
|
if (pipe != INVALID_HANDLE_VALUE) {
|
||||||
|
active = true;
|
||||||
WriteFile(pipe, (const void*)message_buffer, OUT_BUFFER_SIZE, NULL, NULL);
|
WriteFile(pipe, (const void*)message_buffer, OUT_BUFFER_SIZE, NULL, NULL);
|
||||||
FlushFileBuffers(pipe);
|
FlushFileBuffers(pipe);
|
||||||
CloseHandle(pipe);
|
CloseHandle(pipe);
|
||||||
|
|
@ -67,10 +70,16 @@ RB_METHOD(journalSet)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RB_METHOD(journalActive)
|
||||||
|
{
|
||||||
|
return active ? Qtrue : Qfalse;
|
||||||
|
}
|
||||||
|
|
||||||
void journalBindingInit()
|
void journalBindingInit()
|
||||||
{
|
{
|
||||||
mutex = SDL_CreateMutex();
|
mutex = SDL_CreateMutex();
|
||||||
|
|
||||||
VALUE module = rb_define_module("Journal");
|
VALUE module = rb_define_module("Journal");
|
||||||
_rb_define_module_function(module, "set", journalSet);
|
_rb_define_module_function(module, "set", journalSet);
|
||||||
|
_rb_define_module_function(module, "active?", journalActive);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ DWORD WINAPI ipc_thread(LPVOID lpParam)
|
||||||
&& len == IN_BUFFER_SIZE)
|
&& len == IN_BUFFER_SIZE)
|
||||||
{
|
{
|
||||||
WaitForSingleObject(image_mutex, INFINITE);
|
WaitForSingleObject(image_mutex, INFINITE);
|
||||||
if (strcmp(message, "default") == 0) {
|
if (*message == 0) {
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
loadImage(message);
|
loadImage(message);
|
||||||
|
|
@ -109,6 +109,7 @@ int do_journal()
|
||||||
if (ReadFile(pipe, (void*)message, IN_BUFFER_SIZE, &len, NULL)
|
if (ReadFile(pipe, (void*)message, IN_BUFFER_SIZE, &len, NULL)
|
||||||
&& len == IN_BUFFER_SIZE)
|
&& len == IN_BUFFER_SIZE)
|
||||||
{
|
{
|
||||||
|
if (*message)
|
||||||
loadImage(message);
|
loadImage(message);
|
||||||
}
|
}
|
||||||
CloseHandle(pipe);
|
CloseHandle(pipe);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue