Try creating statdir once when opening lock file fails (bz 1401561)
Signed-off-by: Steve Dickson <steved@redhat.com>
This commit is contained in:
		
							parent
							
								
									07bfa98316
								
							
						
					
					
						commit
						283abcbc02
					
				
							
								
								
									
										35
									
								
								rpcbind-0.2.4-systemd-rundir.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								rpcbind-0.2.4-systemd-rundir.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | |||||||
|  | diff -up rpcbind-0.2.4/src/rpcbind.c.orig rpcbind-0.2.4/src/rpcbind.c
 | ||||||
|  | --- rpcbind-0.2.4/src/rpcbind.c.orig	2017-03-21 10:12:35.005190509 -0400
 | ||||||
|  | +++ rpcbind-0.2.4/src/rpcbind.c	2017-03-21 10:36:45.510507649 -0400
 | ||||||
|  | @@ -144,6 +144,8 @@ static void rbllist_add(rpcprog_t, rpcve
 | ||||||
|  |  static void terminate(int); | ||||||
|  |  static void parseargs(int, char *[]); | ||||||
|  |   | ||||||
|  | +char *systemdtmp = "/usr/bin/systemd-tmpfiles --create rpcbind.conf";
 | ||||||
|  | +
 | ||||||
|  |  int | ||||||
|  |  main(int argc, char *argv[]) | ||||||
|  |  { | ||||||
|  | @@ -151,13 +153,21 @@ main(int argc, char *argv[])
 | ||||||
|  |  	void *nc_handle;	/* Net config handle */ | ||||||
|  |  	struct rlimit rl; | ||||||
|  |  	int maxrec = RPC_MAXDATASIZE; | ||||||
|  | +	int once = 1;
 | ||||||
|  |   | ||||||
|  |  	parseargs(argc, argv); | ||||||
|  |   | ||||||
|  | +tryagain:
 | ||||||
|  |  	/* Check that another rpcbind isn't already running. */ | ||||||
|  |  	if ((rpcbindlockfd = (open(RPCBINDDLOCK, | ||||||
|  | -	    O_RDONLY|O_CREAT, 0444))) == -1)
 | ||||||
|  | +	    O_RDONLY|O_CREAT, 0444))) == -1) {
 | ||||||
|  | +		if (once) {
 | ||||||
|  | +			once = system(systemdtmp); /* set once to avoid a warning */
 | ||||||
|  | +			once = 0;
 | ||||||
|  | +			goto tryagain; 
 | ||||||
|  | +		}
 | ||||||
|  |  		err(1, "%s", RPCBINDDLOCK); | ||||||
|  | +	}
 | ||||||
|  |   | ||||||
|  |  	if(flock(rpcbindlockfd, LOCK_EX|LOCK_NB) == -1 && errno == EWOULDBLOCK) | ||||||
|  |  		errx(1, "another rpcbind is already running. Aborting"); | ||||||
| @ -1,6 +1,6 @@ | |||||||
| Name:           rpcbind | Name:           rpcbind | ||||||
| Version:        0.2.4 | Version:        0.2.4 | ||||||
| Release:        5%{?dist} | Release:        6%{?dist} | ||||||
| Summary:        Universal Addresses to RPC Program Number Mapper | Summary:        Universal Addresses to RPC Program Number Mapper | ||||||
| Group:          System Environment/Daemons | Group:          System Environment/Daemons | ||||||
| License:        BSD | License:        BSD | ||||||
| @ -25,6 +25,7 @@ Patch100: rpcbind-0.2.3-systemd-envfile.patch | |||||||
| Patch101: rpcbind-0.2.3-systemd-tmpfiles.patch | Patch101: rpcbind-0.2.3-systemd-tmpfiles.patch | ||||||
| Patch102: rpcbind-0.2.4-runstatdir.patch | Patch102: rpcbind-0.2.4-runstatdir.patch | ||||||
| Patch103: rpcbind-0.2.4-systemd-service.patch | Patch103: rpcbind-0.2.4-systemd-service.patch | ||||||
|  | Patch104: rpcbind-0.2.4-systemd-rundir.patch | ||||||
| 
 | 
 | ||||||
| Provides: portmap = %{version}-%{release} | Provides: portmap = %{version}-%{release} | ||||||
| Obsoletes: portmap <= 4.0-65.3 | Obsoletes: portmap <= 4.0-65.3 | ||||||
| @ -44,6 +45,7 @@ RPC calls on a server on that machine. | |||||||
| %patch101 -p1 | %patch101 -p1 | ||||||
| %patch102 -p1 | %patch102 -p1 | ||||||
| %patch103 -p1 | %patch103 -p1 | ||||||
|  | %patch104 -p1 | ||||||
| %build | %build | ||||||
| %ifarch s390 s390x | %ifarch s390 s390x | ||||||
| PIE="-fPIE" | PIE="-fPIE" | ||||||
| @ -137,6 +139,9 @@ fi | |||||||
| %{_tmpfilesdir}/%{name}.conf | %{_tmpfilesdir}/%{name}.conf | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Mar 21 2017 Steve Dickson <steved@redhat.com> - 0.2.4-6 | ||||||
|  | - Try creating statdir once when opening lock file fails (bz 1401561) | ||||||
|  | 
 | ||||||
| * Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-5 | * Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-5 | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild | - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user