static void set_title(const char* title) { char buffer[512]; int err; err = uv_get_process_title(buffer, sizeof(buffer)); ASSERT(err == 0); err = uv_set_process_title(title); ASSERT(err == 0); err = uv_get_process_title(buffer, sizeof(buffer)); ASSERT(err == 0); ASSERT(strcmp(buffer, title) == 0); }
static int luv_get_process_title(lua_State* L) { char title[MAX_TITLE_LENGTH]; int ret = uv_get_process_title(title, MAX_TITLE_LENGTH); if (ret < 0) return luv_error(L, ret); lua_pushstring(L, title); return 1; }
static void uv_get_process_title_edge_cases(void) { char buffer[512]; int r; /* Test a NULL buffer */ r = uv_get_process_title(NULL, 100); ASSERT(r == UV_EINVAL); /* Test size of zero */ r = uv_get_process_title(buffer, 0); ASSERT(r == UV_EINVAL); /* Test for insufficient buffer size */ r = uv_get_process_title(buffer, 1); ASSERT(r == UV_ENOBUFS); }
int luv_get_process_title(lua_State* L) { char title[8192]; uv_err_t err = uv_get_process_title(title, 8192); if (err.code) { return luaL_error(L, "uv_get_process_title: %s: %s", uv_err_name(err), uv_strerror(err)); } lua_pushstring(L, title); return 1; }
static void getter_thread_body(void* arg) { char buffer[512]; for (;;) { ASSERT(0 == uv_get_process_title(buffer, sizeof(buffer))); ASSERT( 0 == strcmp(buffer, titles[0]) || 0 == strcmp(buffer, titles[1]) || 0 == strcmp(buffer, titles[2]) || 0 == strcmp(buffer, titles[3])); uv_sleep(0); } }
static PyObject * Util_func_get_process_title(PyObject *obj) { char buffer[512]; uv_err_t err; UNUSED_ARG(obj); if (!setup_args_called) { setup_args(); } err = uv_get_process_title(buffer, sizeof(buffer)); if (err.code == UV_OK) { return PyBytes_FromString(buffer); } else { PyObject *exc_data = Py_BuildValue("(is)", err.code, uv_strerror(err)); if (exc_data != NULL) { PyErr_SetObject(PyExc_UVError, exc_data); Py_DECREF(exc_data); } return NULL; } }