Ejemplo n.º 1
0
        internal LoopWork(Loop loop, Action run, Action after, Action <LoopWork> completed)
        {
            _run         = new uv_work_cb(this.Run);
            _after       = new uv_after_work_cb(this.After);
            _runAction   = run;
            _afterAction = after;
            _completed   = completed;
            _loop        = loop;
            _work        = _loop.Requests.Create(uv_req_type.UV_WORK);

            try
            {
                _loop.CheckError(Uvi.uv_queue_work(_loop.Handle, _work, _run, _after));
            }
            catch (Exception)
            {
                _work = _loop.Requests.Delete(_work);
                throw;
            }
        }
Ejemplo n.º 2
0
        internal LoopWork(Loop loop, Action run, Action after, Action<LoopWork> completed)
        {
            _run = new uv_work_cb(this.Run);
            _after = new uv_after_work_cb(this.After);
            _runAction = run;
            _afterAction = after;
            _completed = completed;
            _loop = loop;
            _work = _loop.Requests.Create(uv_req_type.UV_WORK);

            try
            {
                _loop.CheckError(Uvi.uv_queue_work(_loop.Handle, _work, _run, _after));
            }
            catch (Exception)
            {
                _work = _loop.Requests.Delete(_work);
                throw;
            }
        }
Ejemplo n.º 3
0
 internal static extern int uv_queue_work(IntPtr loop, IntPtr req, uv_work_cb work_cb, uv_after_work_cb after_work_cb);
Ejemplo n.º 4
0
 internal static extern int uv_queue_work(IntPtr loop, IntPtr req, uv_work_cb work_cb, uv_after_work_cb after_work_cb); //uv_work_t* req,