qemu-ga: make reopen_fd_to_null() public
The next commit wants to use it. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
		
							parent
							
								
									d9fcd2a1c8
								
							
						
					
					
						commit
						04b4e75f33
					
				
							
								
								
									
										17
									
								
								qemu-ga.c
								
								
								
								
							
							
						
						
									
										17
									
								
								qemu-ga.c
								
								
								
								
							| 
						 | 
				
			
			@ -140,6 +140,23 @@ static gboolean register_signal_handlers(void)
 | 
			
		|||
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* TODO: use this in place of all post-fork() fclose(std*) callers */
 | 
			
		||||
void reopen_fd_to_null(int fd)
 | 
			
		||||
{
 | 
			
		||||
    int nullfd;
 | 
			
		||||
 | 
			
		||||
    nullfd = open("/dev/null", O_RDWR);
 | 
			
		||||
    if (nullfd < 0) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    dup2(nullfd, fd);
 | 
			
		||||
 | 
			
		||||
    if (nullfd != fd) {
 | 
			
		||||
        close(nullfd);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static void usage(const char *cmd)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,25 +34,6 @@
 | 
			
		|||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(__linux__)
 | 
			
		||||
/* TODO: use this in place of all post-fork() fclose(std*) callers */
 | 
			
		||||
static void reopen_fd_to_null(int fd)
 | 
			
		||||
{
 | 
			
		||||
    int nullfd;
 | 
			
		||||
 | 
			
		||||
    nullfd = open("/dev/null", O_RDWR);
 | 
			
		||||
    if (nullfd < 0) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    dup2(nullfd, fd);
 | 
			
		||||
 | 
			
		||||
    if (nullfd != fd) {
 | 
			
		||||
        close(nullfd);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#endif /* defined(__linux__) */
 | 
			
		||||
 | 
			
		||||
void qmp_guest_shutdown(bool has_mode, const char *mode, Error **err)
 | 
			
		||||
{
 | 
			
		||||
    int ret;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,3 +35,7 @@ void ga_set_response_delimited(GAState *s);
 | 
			
		|||
bool ga_is_frozen(GAState *s);
 | 
			
		||||
void ga_set_frozen(GAState *s);
 | 
			
		||||
void ga_unset_frozen(GAState *s);
 | 
			
		||||
 | 
			
		||||
#ifndef _WIN32
 | 
			
		||||
void reopen_fd_to_null(int fd);
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue