Esempio n. 1
0
/* u3_unix_io_talk(): start listening for fs events.
*/
void
u3_unix_io_talk()
{
    u3_unix_acquire(u3_Host.dir_c);
    u3_unix_ef_move();
    uv_check_start(&u3_Host.unx_u.syn_u, _unix_ef_sync);
}
Esempio n. 2
0
File: check.c Progetto: iyedb/pyuv
static PyObject *
Check_func_start(Check *self, PyObject *args)
{
    int err;
    PyObject *tmp, *callback;

    tmp = NULL;

    RAISE_IF_HANDLE_NOT_INITIALIZED(self, NULL);
    RAISE_IF_HANDLE_CLOSED(self, PyExc_HandleClosedError, NULL);

    if (!PyArg_ParseTuple(args, "O:start", &callback)) {
        return NULL;
    }

    if (!PyCallable_Check(callback)) {
        PyErr_SetString(PyExc_TypeError, "a callable is required");
        return NULL;
    }

    err = uv_check_start(&self->check_h, on_check_callback);
    if (err < 0) {
        RAISE_UV_EXCEPTION(err, PyExc_CheckError);
        return NULL;
    }

    tmp = self->callback;
    Py_INCREF(callback);
    self->callback = callback;
    Py_XDECREF(tmp);

    PYUV_HANDLE_INCREF(self);

    Py_RETURN_NONE;
}
Esempio n. 3
0
File: unix.c Progetto: esaul/urbit
/* u2_unix_io_talk(): start listening for fs events.
*/
void
u2_unix_io_talk()
{
  u2_unix_acquire(u2_Host.cpu_c);
  u2_unix_ef_move();
  uv_check_start(&u2_Host.unx_u.syn_u, _unix_ef_sync);
}
Esempio n. 4
0
static int luv_check_start(lua_State* L) {
  uv_check_t* handle = luv_check_check(L, 1);
  int ret;
  luv_check_callback(L, (luv_handle_t *)handle->data, LUV_CHECK, 2);
  ret = uv_check_start(handle, luv_check_cb);
  if (ret < 0) return luv_error(L, ret);
  lua_pushinteger(L, ret);
  return 1;
}
Esempio n. 5
0
/*
 * Class:     com_oracle_libuv_handles_CheckHandle
 * Method:    _start
 * Signature: (J)I
 */
JNIEXPORT jint JNICALL Java_com_oracle_libuv_handles_CheckHandle__1start
  (JNIEnv *env, jobject that, jlong check) {

  assert(check);
  uv_check_t* handle = reinterpret_cast<uv_check_t*>(check);
  int r = uv_check_start(handle, _check_cb);
  if (r) {
    ThrowException(env, handle->loop, "uv_check_start");
  }
  return r;
}
Esempio n. 6
0
CAMLprim value
camluv_check_start(value check, value check_cb)
{
  CAMLparam2(check, check_cb);
  CAMLlocal1(camluv_rc);

  int rc = -1;
  camluv_check_t *camluv_check = camluv_check_struct_val(check);
  camluv_check->check_cb = check_cb;
  rc = uv_check_start(&(camluv_check->uv_check), camluv_check_cb);
  camluv_rc = camluv_errno_c2ml(rc);

  CAMLreturn(camluv_rc);
}
Esempio n. 7
0
static int start_check (lua_State *L) {
  int ret = 0;
  int ref_ret = LUA_REFNIL;
  libuv_check_t *check = NULL;

  TRACE("arguments: L = %p\n", L);
  assert(L != NULL);

  /* [ userdata, function ] */
  assert(lua_gettop(L) == 2); 

  /* get callback argument */
  luaL_checktype(L, 2, LUA_TFUNCTION);
  lua_getfenv(L, 1); /* [ userdata, function, env_table ] */
  lua_pushvalue(L, 2); /* [ userdata, function, env_table, function ] */
  lua_remove(L, 2); /* [ userdata, env_table, function ] */
  lua_setfield(L, -2, "on_check"); /* [ userdata, env_table ] */
  lua_pop(L, 1); /* [ userdata ] */

  /* get self argument */
  check = (libuv_check_t *)luaL_checkudata(L, 1, CHECK_T);
  TRACE("get libuv_check_t (%p)\n", check);
  assert(check != NULL);
  assert(check->uvcheck != NULL);
  check->uvcheck->data = check;
  assert(check->uvcheck->data != NULL);

  /* execute uv_check_start */
  ret = uv_check_start(check->uvcheck, on_check);
  TRACE("uv_check_start: ret = %d\n", ret);

  /* set reference */
  TRACE("referencing uv_check_t\n");
  ref_ret = luaL_ref(L, LUA_REGISTRYINDEX);
  if (ref_ret == LUA_REFNIL) {
    /* TODO: error */
    fprintf(stderr, "FAIELD luaL_ref !!");
    return 0;
  }
  check->ref = ref_ret;

  TRACE("libuv_check_t attributes: uvcheck = %p, L = %p, ref = 0x%012x\n", check->uvcheck, check->L, check->ref);

  /* set return */
  lua_pushinteger(L, ret); /* [ userdata, number ] */

  return 1;
}