xref: /OK3568_Linux_fs/buildroot/package/libteam/0003-increase-wait-time-for-daemon-kill.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFrom 6875e6c8efb0fe86766b3d4f1d0db390af6998b7 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Hangbin Liu <liuhangbin@gmail.com>
3*4882a593SmuzhiyunDate: Tue, 15 Dec 2020 19:33:17 +0800
4*4882a593SmuzhiyunSubject: [PATCH] teamd: increase the waitting time for daemon killing
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunIn the current code, we wait for at most 5s when kill the daemon pid.
7*4882a593SmuzhiyunBut in some environment, it may need more time. Then the teamd -k will
8*4882a593Smuzhiyunfailed and return error "Failed to kill daemon: Timer expired".
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunLet's increase the value to have enough time. Here is the reuslt with
11*4882a593Smuzhiyunthis patch:
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun$ time libteam/teamd/teamd -k -t team0
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunreal    0m10.442s
16*4882a593Smuzhiyunuser    0m0.017s
17*4882a593Smuzhiyunsys     0m0.016s
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunSigned-off-by: Hangbin Liu <liuhangbin@gmail.com>
20*4882a593SmuzhiyunSigned-off-by: Jiri Pirko <jiri@nvidia.com>
21*4882a593Smuzhiyun---
22*4882a593Smuzhiyun teamd/teamd.c | 2 +-
23*4882a593Smuzhiyun 1 file changed, 1 insertion(+), 1 deletion(-)
24*4882a593Smuzhiyun
25*4882a593Smuzhiyundiff --git a/teamd/teamd.c b/teamd/teamd.c
26*4882a593Smuzhiyunindex 9360cbf..b310140 100644
27*4882a593Smuzhiyun--- a/teamd/teamd.c
28*4882a593Smuzhiyun+++ b/teamd/teamd.c
29*4882a593Smuzhiyun@@ -1858,7 +1858,7 @@ int main(int argc, char **argv)
30*4882a593Smuzhiyun 		break;
31*4882a593Smuzhiyun 	case DAEMON_CMD_KILL:
32*4882a593Smuzhiyun 		if (daemon_pid_file_is_running() > 0) {
33*4882a593Smuzhiyun-			err = daemon_pid_file_kill_wait(SIGTERM, 5);
34*4882a593Smuzhiyun+			err = daemon_pid_file_kill_wait(SIGTERM, 30);
35*4882a593Smuzhiyun 			if (err)
36*4882a593Smuzhiyun 				teamd_log_warn("Failed to kill daemon: %s",
37*4882a593Smuzhiyun 					       strerror(errno));
38