Optimization for the "--no-unix-sockets" case.

This commit is contained in:
Andrei Zeliankou
2022-11-15 00:17:32 +00:00
parent 11f416878a
commit 40d75c94a0

View File

@@ -738,42 +738,40 @@ fail:
static PyObject *
nxt_py_asgi_create_address(nxt_unit_sptr_t *sptr, uint8_t len, uint16_t port)
{
#if (NXT_HAVE_UNIX_DOMAIN)
size_t prefix_len;
nxt_str_t addr;
PyObject *pair, *v;
nxt_str_t addr;
addr.length = len;
addr.start = nxt_unit_sptr_get(sptr);
prefix_len = nxt_length("unix:");
if (!nxt_str_start(&addr, "unix:", prefix_len)) {
return nxt_py_asgi_create_ip_address(sptr, len, port);
if (nxt_str_start(&addr, "unix:", prefix_len)) {
pair = PyTuple_New(2);
if (nxt_slow_path(pair == NULL)) {
return NULL;
}
addr.start += prefix_len;
addr.length -= prefix_len;
v = PyString_FromStringAndSize((const char *) addr.start, addr.length);
if (nxt_slow_path(v == NULL)) {
Py_DECREF(pair);
return NULL;
}
PyTuple_SET_ITEM(pair, 0, v);
PyTuple_SET_ITEM(pair, 1, Py_None);
return pair;
}
#if NXT_HAVE_UNIX_DOMAIN
pair = PyTuple_New(2);
if (nxt_slow_path(pair == NULL)) {
return NULL;
}
addr.start += prefix_len;
addr.length -= prefix_len;
v = PyString_FromStringAndSize((const char *) addr.start, addr.length);
if (nxt_slow_path(v == NULL)) {
Py_DECREF(pair);
return NULL;
}
PyTuple_SET_ITEM(pair, 0, v);
PyTuple_SET_ITEM(pair, 1, Py_None);
return pair;
#else
return NULL;
#endif
return nxt_py_asgi_create_ip_address(sptr, len, port);
}