diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-01-08 11:29:13 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2016-01-08 11:29:13 +0200 |
commit | 3325fed2895f079486b88c65409c73153fec306f (patch) | |
tree | 65165fde1e48346892cd0c0dfd7f7a4980ba1665 /lib/url.c | |
parent | 46b2745b25176c14c42bcc9612b290c310929aa0 (diff) | |
download | pies-3325fed2895f079486b88c65409c73153fec306f.tar.gz pies-3325fed2895f079486b88c65409c73153fec306f.tar.bz2 |
Enable control socket when run as init process.
* configure.ac (DEFAULT_CONTROL_URL): Rename to
DEFAULT_PIES_CONTROL_URL. Change default value.
(DEFAULT_INIT_CONTROL_URL): New subst variable.
* lib/libpies.h (pies_basic_url_create): New prototype.
* lib/url.c (pies_basic_url_create): New function (renamed
from pies_url_create).
(pies_url_create): Expand variable references in the input string.
* src/Makefile.am (AM_CPPFLAGS): Pass DEFAULT_INIT_CONTROL_URL
* src/ctl.c (pies_control_url)
(ctl_open): Don't exit on errors, return -1 instead.
* src/pies.c (default_control_url): New variable.
(config_parse): Create default socket url.
(pies_control_url): New macro
(main): Set environment variable PIES_INSTANCE.
Try to open control socket in init process mode as well.
* src/pies.h (default_control_url): New extern.
(ctl_open): Change prototype.
(pies_control_url): Remove.
* src/piesctl-cl.opt (parse_options): Set environment variable
PIES_INSTANCE.
* src/piesctl.c (parse_config): Use pies_url_create and
DEFAULT_PIES_CONTROL_URL when falling back to the default socket.
Diffstat (limited to 'lib/url.c')
-rw-r--r-- | lib/url.c | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -325,7 +325,7 @@ pies_url_copy (struct pies_url **purl, struct pies_url *src) } int -pies_url_create (struct pies_url **purl, const char *str) +pies_basic_url_create (struct pies_url **purl, const char *str) { int rc; struct pies_url *url; @@ -345,6 +345,23 @@ pies_url_create (struct pies_url **purl, const char *str) return rc; } +extern char **environ; + +int +pies_url_create (struct pies_url **purl, const char *str) +{ + struct wordsplit ws; + int rc; + + ws.ws_env = (const char**) environ; + if (wordsplit (str, &ws, + WRDSF_NOCMD | WRDSF_QUOTE | WRDSF_NOSPLIT | WRDSF_ENV)) + return -1; + rc = pies_basic_url_create (purl, ws.ws_wordv[0]); + wordsplit_free (&ws); + return rc; +} + const char * pies_url_get_arg (struct pies_url *url, const char *argname) { |