Implement job control

- Add a job control module for spawning and controlling co-processes
- Add three vimscript functions for interfacing with the module
- Use dedicated header files for typedefs/structs in event/job modules
This commit is contained in:
Thiago de Arruda
2014-04-07 14:21:42 -03:00
parent 39932212d8
commit 4b063ea3ad
13 changed files with 632 additions and 14 deletions

View File

@@ -8,6 +8,7 @@
#include "os/event.h"
#include "os/input.h"
#include "os/signal.h"
#include "os/job.h"
#include "vim.h"
#include "memory.h"
#include "misc2.h"
@@ -34,6 +35,8 @@ void event_init()
// `event_poll`
// Signals
signal_init();
// Jobs
job_init();
uv_timer_init(uv_default_loop(), &timer);
// This prepare handle that actually starts the timer
uv_prepare_init(uv_default_loop(), &timer_prepare);
@@ -88,6 +91,9 @@ static void process_all_events()
case kEventSignal:
signal_handle(event);
break;
case kEventJobActivity:
job_handle(event);
break;
default:
abort();
}