minor, use EV_CUSTOM to propagate hangups in twsc_cb() and EV_CLEANUP also along with NULL object to notify reco_cb()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, implement SIGHUP reconnection in terms of reco_cb()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'feat/sighup' into next

* feat/sighup:
  minor, implement SIGHUP reconnection in terms of reco_cb()
  minor, use EV_CUSTOM to propagate hangups in twsc_cb() and EV_CLEANUP also along with NULL object to notify reco_cb()
minor, register main name spaces only once

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, change logging/debugging output of xml ns assignment, adhering to our 4 letter codes

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
cosmetics, adhere to 4 letter codes in __sub_sdef() too

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'code/hygiene' into next

* code/hygiene:
  cosmetics, adhere to 4 letter codes in __sub_sdef() too
  minor, change logging/debugging output of xml ns assignment, adhering to our 4 letter codes
  minor, register main name spaces only once
minor, refactor log opening, all logging related stuff is in logger.c now

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, rotate the logfile upon sighup

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, open log files in append mode

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, return code (and preserve errno) upon open_logerr() to conditionalise on that

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, allow to specify log file for quo-tws

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, allow to specify log file (--log) for pf-tws and ox-tws

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, fflush() logerr before closing

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, perform fallback plan (logging to /dev/null) in __open_logerr() so rotate_logerr() isn't code-duped

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, provide USR1 handling in quo-tws to rotate the log file (without a tws hangup)

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'feat/logger' into next

* feat/logger:
  minor, provide USR1 handling in quo-tws to rotate the log file (without a tws hangup)
  minor, perform fallback plan (logging to /dev/null) in __open_logerr() so rotate_logerr() isn't code-duped
  minor, fflush() logerr before closing
  minor, allow to specify log file (--log) for pf-tws and ox-tws
  minor, allow to specify log file for quo-tws
  minor, return code (and preserve errno) upon open_logerr() to conditionalise on that
  minor, open log files in append mode
  minor, rotate the logfile upon sighup
  minor, refactor log opening, all logging related stuff is in logger.c now
Merge branch 'next'

* next: (22 commits)
  minor, provide USR1 handling in quo-tws to rotate the log file (without a tws hangup)
  minor, perform fallback plan (logging to /dev/null) in __open_logerr() so rotate_logerr() isn't code-duped
  minor, fflush() logerr before closing
  minor, allow to specify log file (--log) for pf-tws and ox-tws
  minor, allow to specify log file for quo-tws
  minor, return code (and preserve errno) upon open_logerr() to conditionalise on that
  minor, open log files in append mode
  minor, rotate the logfile upon sighup
  minor, refactor log opening, all logging related stuff is in logger.c now
  cosmetics, adhere to 4 letter codes in __sub_sdef() too
  minor, change logging/debugging output of xml ns assignment, adhering to our 4 letter codes
  minor, register main name spaces only once
  minor, implement SIGHUP reconnection in terms of reco_cb()
  minor, use EV_CUSTOM to propagate hangups in twsc_cb() and EV_CLEANUP also along with NULL object to notify reco_cb()
  cosmetics, discard unreferenced local variable in ev_io_shut()
  minor, soften the return code contract upon cont_cb() in twsxml deserialiser, anything but 0 indicates we don't want the instrument
  chore, hygiene, don't call fini_tws() in main function
  minor, free sdefs from the subq upon twsc_conn_clos()
  minor, refactor clean up work into twsc_conn_clos()
  minor, upon shutdown (reco_cb() with NULL w) close twsc's socket and call the callback manually
  ...