vcl: hold errno when calling LDBG 42/24142/2
authorhanlin <hanlin_wang@163.com>
Mon, 30 Dec 2019 08:25:20 +0000 (16:25 +0800)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 30 Dec 2019 17:26:18 +0000 (17:26 +0000)
commit9f3f18f99fd321cdcfc331e92b10b64f0ef590b3
tree97107dfd78dae3415407e08cdc19bf8105c8dffb
parentb7f035ff4c56cbfd8548c8f1a27fcffb79be6d1f
vcl: hold errno when calling LDBG

Type: fix

Call trace of LDBG:
LDBG->clib_warning->_clib_error->dispatch_message->os_puts->writev
However, writev will hijacked by LDP, and then execute following code:
if ((errno = -ldp_init ()))
    return -1;
Now, errno will be set.

Because we always call LDBG just before return from ldp_accept4, listen,
and etc. So errno will be overwritted after LDBG called.

Signed-off-by: hanlin <hanlin_wang@163.com>
Change-Id: I7a90f3a14772994f11f09650481411796e3f5630
src/vcl/ldp.c