| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -296,6 +296,18 @@ static bool invoker_send_prio(int fd, int prio)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return true;
 | 
					 | 
					 | 
					 | 
					    return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					static bool invoker_send_ids(int fd, int uid, int gid)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // Send action.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    invoke_send_msg(fd, INVOKER_MSG_IDS);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    invoke_send_msg(fd, uid);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    invoke_send_msg(fd, gid);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    invoke_recv_ack(fd);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					static bool invoker_send_env(int fd)
 | 
					 | 
					 | 
					 | 
					static bool invoker_send_env(int fd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    int i, n_vars;
 | 
					 | 
					 | 
					 | 
					    int i, n_vars;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -418,6 +430,9 @@ static int invoke(int prog_argc, char **prog_argv, char *prog_name,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            prog_prio = 0;
 | 
					 | 
					 | 
					 | 
					            prog_prio = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        int uid = getuid();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        int gid = getgid();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        int fd = invoker_init(app_type);
 | 
					 | 
					 | 
					 | 
					        int fd = invoker_init(app_type);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_magic(fd, magic_options);
 | 
					 | 
					 | 
					 | 
					        invoker_send_magic(fd, magic_options);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -425,6 +440,7 @@ static int invoke(int prog_argc, char **prog_argv, char *prog_name,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_exec(fd, prog_name);
 | 
					 | 
					 | 
					 | 
					        invoker_send_exec(fd, prog_name);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_args(fd, prog_argc, prog_argv);
 | 
					 | 
					 | 
					 | 
					        invoker_send_args(fd, prog_argc, prog_argv);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_prio(fd, prog_prio);
 | 
					 | 
					 | 
					 | 
					        invoker_send_prio(fd, prog_prio);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        invoker_send_ids(fd, uid, gid);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_io(fd);
 | 
					 | 
					 | 
					 | 
					        invoker_send_io(fd);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_env(fd);
 | 
					 | 
					 | 
					 | 
					        invoker_send_env(fd);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        invoker_send_end(fd);
 | 
					 | 
					 | 
					 | 
					        invoker_send_end(fd);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |