From: Martin Willi Date: Wed, 17 Apr 2013 12:47:58 +0000 (+0200) Subject: kernel-utun: use always the same process ID, regardless of calling thread X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=c74bb619e8b64f262583a1ff0f936fcb0d02cb80;p=thirdparty%2Fstrongswan.git kernel-utun: use always the same process ID, regardless of calling thread --- diff --git a/src/libhydra/plugins/kernel_utun/kernel_utun_net.c b/src/libhydra/plugins/kernel_utun/kernel_utun_net.c index 7d31b2a127..2518656cba 100644 --- a/src/libhydra/plugins/kernel_utun/kernel_utun_net.c +++ b/src/libhydra/plugins/kernel_utun/kernel_utun_net.c @@ -49,6 +49,11 @@ struct private_kernel_utun_net_t { * sequence numbers for PF_ROUTE messages */ int seq; + + /** + * process id we use for all messages + */ + pid_t pid; }; typedef struct { @@ -286,7 +291,7 @@ static status_t manage_route(private_kernel_utun_net_t *this, int op, .rtm_version = RTM_VERSION, .rtm_type = op, .rtm_flags = RTF_UP | RTF_STATIC, - .rtm_pid = getpid(), + .rtm_pid = this->pid, .rtm_seq = ++this->seq, }, }; @@ -382,6 +387,7 @@ kernel_utun_net_t *kernel_utun_net_create() .destroy = _destroy, }, }, + .pid = getpid(), ); this->pfr = socket(PF_ROUTE, SOCK_RAW, AF_UNSPEC);